home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
tex
/
indxx802.zip
/
MANUAL.DOC
< prev
next >
Wrap
Text File
|
1991-11-14
|
189KB
|
4,524 lines
- INDEXX -
Professional Version
User's Manual
Version No. 8.02
Copyright 1985-1991 by:
Norman Swartz
1053 Ridley Drive
Burnaby, B.C.
Canada V5A 2N7
tele. (604)-420-7454
9:00-20:00 Pacific time
Contents
Chapter 1 Introduction 1
1.1 Notice to users updating from previous
versions of INDEXX . . . . . . . . . . . . . 1
1.2 What INDEXX does . . . . . . . . . . . . . . 1
1.3 Minimum requirements . . . . . . . . . . . . 3
1.4 Maximum operating parameters . . . . . . . . 3
1.5 Files on the distribution diskette . . . . . 4
1.6 User's fee . . . . . . . . . . . . . . . . . 5
1.7 Reporting problems and suggesting
improvements . . . . . . . . . . . . . . . . 5
1.8 Credits . . . . . . . . . . . . . . . . . . . 6
1.9 Disclaimer . . . . . . . . . . . . . . . . . 6
Chapter 2 Tutorial 7
2.1 Copying the distribution diskette and
installing INDEXX . . . . . . . . . . . . . . 7
2.2 Obtaining a printed copy of the Manual . . . 7
2.3 Loading INDEXX . . . . . . . . . . . . . . . 8
2.4 Running INDEXX . . . . . . . . . . . . . . . 8
2.5 Creating an index file . . . . . . . . . . . 9
2.6 Entering/Editing data in your index file . . 9
2.7 Alphabetizing your index file . . . . . . . 22
2.8 Formatting and printing your index file . . 22
2.9 Exploring the files on your data disk . . . 24
2.10 Retrieving a file in progress . . . . . . 24
Chapter 3 Detailed operation of INDEXX 26
3.1 The Main Menu . . . . . . . . . . . . . . . 26
3.2 Option 0 - Changing the defaults . . . . . 26
3.2.1 Choose screen colors (full-color
monitor only) . . . . . . . . . . . . 27
3.2.2 Set operating parameters . . . . . . . 27
3.2.3 Command line parameters . . . . . . . 29
3.2.4 Using a .BAT file . . . . . . . . . . 30
3.3 Option 1 - Creating an index file . . . . . 30
3.4 Option 2 - Retrieving a file in progress . 31
3.4.1 Errors detected in reading the data
file . . . . . . . . . . . . . . . . . 31
3.5 Option 3 - Updating the index . . . . . . . 32
3.5.1 Normal data entry mode . . . . . . . . 32
3.5.2 String data entry mode . . . . . . . . 32
3.5.3 Subheadings . . . . . . . . . . . . . 33
3.5.4 Internal file fields . . . . . . . . . 33
3.5.5 Partial matches . . . . . . . . . . . 34
i
3.5.6 Wildcard searches . . . . . . . . . . 36
3.5.7 Typefaces: italics, boldface, etc. . . 36
3.5.8 `As-if' codes (forced sorting) . . . . 37
3.5.9 Foreign alphabets . . . . . . . . . . 37
3.5.10 Cross-referencing . . . . . . . . . . 37
3.5.11 Page citations . . . . . . . . . . . 38
3.5.11.1 Cross-references among page
citations 40
3.5.12 Automode . . . . . . . . . . . . . . 41
3.5.13 Editing . . . . . . . . . . . . . . . 42
3.5.13.1 Editing the input line 43
3.5.13.2 Retrieving and editing a file
record 43
3.5.13.3 Searching for records with error
flags [###] 46
3.5.14 Review of function key usage . . . . 46
3.5.15 Error messages in Option 3 . . . . . 47
3.5.15.1 Message 1: "Only 2,000 entries
permitted" 47
3.5.15.2 Message 2: "Out of memory" 47
3.6 Option 4 - Alphabetize index . . . . . . . 48
3.6.1 Sort-1 / Sort-2 . . . . . . . . . . . 48
3.6.2 Letter-by-letter / Word-by-word sorts . 48
3.6.3 Float / Sink . . . . . . . . . . . . . 48
3.6.4 Character 225 . . . . . . . . . . . . 49
3.6.5 File header . . . . . . . . . . . . . 49
3.6.6 Ignoring `little' words . . . . . . . 49
3.6.7 Combining of records . . . . . . . . . 50
3.6.8 Sorting page citations; Problem cases . 50
3.7 Option 5 - Formatting index for printing . 51
3.7.1 Formatting options . . . . . . . . . . 51
3.7.2 Formatted print file . . . . . . . . . 53
3.8 Option 6 - Make a backup copy of index . . 53
3.9 Option 7 - Exit to DOS . . . . . . . . . . 53
3.10 Review of INDEXX files . . . . . . . . . . 54
3.11 Editing INDEXX files with a word-
processor . . . . . . . . . . . . . . . . 54
Chapter 4 Supplementary program - INDXPLUS 56
4.1 Option 8 - Merging files . . . . . . . . . 56
4.2 Option 9 - Formatting (oversized) .IND
files . . . . . . . . . . . . . . . . . . . 58
4.3 Option 10 - Splitting oversized .IND files . 58
4.4 Option 11 - Converting old-style INDEXX
files to current format . . . . . . . . . . 58
Chapter 5 Questions and answers 59
Appendix A Sorting algorithms 62
A.1 Pseudo-records . . . . . . . . . . . . . . 62
A.2 Special cases . . . . . . . . . . . . . . . 63
Appendix B Updating from previous versions of
INDEXX 64
ii
B.1 Changes in the design of record fields . . 64
B.2 Merging old .IND files . . . . . . . . . . 65
Index 66
iii
Chapter 1
Introduction
1.1 Notice to users updating from previous versions of INDEXX
Users who wish to use .IND files created by previous versions of
INDEXX should read Appendix B (p. 64).
1.2 What INDEXX does
One of the most tedious tasks facing authors, editors and
researchers is constructing a book index from printed copy. To
be sure, many of the better contemporary computer word-processors
provide indexing facilities for manuscripts and books produced
using those word-processors.[1] The shortcoming common to all
such word-processor indexing programs, however, is that they can
be used only on data files which exist in computer readable
format, e.g. can be used only on books stored on computer disks
or tapes etc. Such word-processor based indexing programs are
ill-suited for indexing books which exist on paper. Thus even
though one might prepare a manuscript using such a word-
processor, if the publisher decides to typeset the book afresh,
then the page numbers of the typeset copy will not correspond to
those of the manuscript. Usually in such a case, the publisher
will require the author or editor to produce a new index from the
page proofs.
INDEXX is designed to aid in the constructing of indexes for
books which exist in printed format, e.g. for (1) new manuscripts
in press, using page proofs, and for (2) published works (e.g.
archival materials) which lack indexes which are needed as
research tools. It serves much as did old-fashioned card
systems, the difference being that the computer, not the person
compiling the index, looks after searching for matches with
previously entered data, alphabetizing the results, sorting page
citations into ascending order, and printing the index in any of
a variety of formats.
-----------
1. Indeed, the Index for this Manual was produced by FinalWord II
(copyright FW Corp.) and not by INDEXX itself.
- 1 -
It can create an index to one inner level of `nesting', i.e.
can list subheadings under a heading, e.g.,
musical recording
analog vs. digital, 88-9, 205, 400
Dolby A (noise reduction), 16
financial investment, 3, 11, 18-20
scheduling, 22, 41-7, 212
In addition, INDEXX can sort data in a great many different
ways.
1. It can sort, for example, (a) with capitalized and
lowercase entries intermingled in alphabetical order, or
(b) with all capitalized and all lowercase entries
alphabetized separately and printed in two separate lists,
the latter method (b) producing a `Names' index followed by
a `Subject' index. That is, you can produce both Names and
Subject indexes simultaneously.
2. For any particular entry, you can stipulate a forced
`as-if' sorting, e.g. you can instruct INDEXX to sort "2nd
World War" as if it were "Second World War". Or suppose
you are producing both a Names and a Subject index; you
could direct INDEXX to sort, e.g., "Kantian philosophy" as
if it were a subject (e.g. as if it were "kantian
philosophy").
3. It can sort in letter-by-letter fashion (explained below,
page 48), or in word-by-word fashion.
4. It can `float' names beginning with "Mac" or "Mc" to the
top of the list of entries beginning with "M", e.g., at
your option it will alphabetize "McCarthy" before
"Maguire".
5. The sorting routine will ignore up to 50 user-specified
`little' words, e.g. if you instruct it to ignore "the" and
"on", it will alphabetize "The Mill on the Floss" as if it
were "Mill Floss". And finally, the sorting procedure
also handles French, German, and Spanish alphabets
correctly, e.g. u-umlate (ASCII character 129) is
alphabetized as if it were "u", e-grave as "e", etc.
INDEXX provides two different formats (switchable `on the fly')
- `normal' and `string' - for inputting data. In the `normal
mode', for example, it is not necessary to re-order persons'
names. One may enter names as one would normally refer to a
person, e.g., one can enter "Arthur Conan Doyle", and the program
will re-order the name, placing the surname first, and the given
name(s) last (e.g. the output would read "Doyle, Arthur Conan").
INDEXX has a built-in editing facility. Any record, or block
of records, may be retrieved and edited on-screen. In addition,
- 2 -
all of the files which INDEXX produces are in standard ASCII
format, and thus, if you like, can be edited with any word-
processor.
INDEXX allows you to use up to 26 different typeface codes,
e.g. for italics, boldface, underlining, small caps, etc.
INDEXX is able to search for previously entered data on the
basis of only a few initial letters (i.e. INDEXX searches the
file [database] using a kind of so-called fuzzy logic). Thus
having entered the full name "Arthur Conan Doyle", for the first
occasion of its occurrence in the book, you need thereafter enter
only a few letters for subsequent references to Doyle, e.g. need
enter only "A Do" [or even just "Do"] and INDEXX will find and
display all previous (partial) matches. You can then choose the
correct match from among the `partial' (or near) matches
displayed, and INDEXX will add the latest page reference(s) to
the earlier one(s) stored in the file.
Like the sorting facility, the formatting facility in INDEXX
offers a great many options, including, for example,
- variable line width (30 to 72 characters) or `infinite'
line width;
- specifiable line turnover;
- variable vertical spacing;
- compacted or separated initials on persons' names;
- optional comma between heading and page citations;
- aligned or run-in style for subheadings;
- specifiable indent for subheadings; and
- optional prefatory dash on subheadings (similar to the
items in this very list).
1.3 Minimum requirements
MS/IBM DOS computer
410 kilobytes (419,840 bytes) available RAM
1 disk drive
DOS 2.0 or later
(optional) printer
(optional) word-processor capable of editing ASCII files
- 3 -
1.4 Maximum operating parameters
INDEXX
- References (records) in an index file held in computer
memory . . . . . . . . . . . . . . . . . . . . . . . 2,000
- Characters (bytes) per file . . . . . . . . . . . >150,000
- Characters (bytes) per record . . . . . . . . . . >10,000
- Separate page citations per record . . . . . . . . . . 200
- Partial matches on data entry . . . . . . . . . . . . . 50
INDXPLUS
The supplementary program INDXPLUS (on the distribution diskette)
can collate sorted indexes created by INDEXX, producing longer
ones as follows:
- References (records) in an index file . . . . . . No limit
- Characters (bytes) per file . . . . . . . . Disk capacity
- Characters (bytes) per record . . . . . . . . . . >10,000
- Separate page citations per record . . . . . . . . . 1,000
Using INDEXX, you could produce indexes, for example, on a
chapter-by-chapter basis. Using INDXPLUS, you could then combine
these several files into a complete alphabetically sorted index,
even if the resulting index exceeds the memory capacity of your
computer.
1.5 Files on the distribution diskette
There are seven files included on the distribution diskette(s):
READ.ME brief instructions on how to begin and
late additions, corrections, etc., if any,
to the current Manual
MANUAL.BAT a batch file for printing this Manual (see
page 7)
MANUAL.DOC this Manual
INDEXX.EXE the working copy of INDEXX
INDXPLUS.EXE supplement to INDEXX (see Chapter 4)
- Either -
PAYMENT.DOC a payment remittance form for user-made
copies of INDEXX and INDXPLUS (see Section
1.6)
- 4 -
PAYMENT.BAT a batch file for printing the Remittance
Form
- Or -
ORDRFORM.DOC an Order Form for users of the
demonstration version to order a full
working version
ORDRFORM.BAT a batch file for printing the Order Form
1.6 User's fee
INDEXX is not public-domain software. If you are using a copy
which you have not purchased from the author or the distributor,
you are in violation of copyright law. A Remittance Form
(PAYMENT.DOC) is included on the distribution diskette. The
price is $99.00 US ($115.00 Canadian) for a single-user. To
print the Remittance Form, place the distribution diskette in
Drive A, and at the DOS prompt ">", type: PAYMENT<Enter>
Users of the demonstration version who wish to order the full
working copy, can obtain an Order Form by placing the
distribution diskette in Drive A, and at the DOS prompt ">",
typing: ORDRFORM<Enter>
1.7 Reporting problems and suggesting improvements
I would be pleased to receive your comments on the use to which
you've put INDEXX. And I'd like, too, to be informed of whatever
errors (so-called `bugs') you find in the program. If your
printout is not what you expected, perhaps you could send me a
copy with a note of explanation. If, on the other hand, the
program should `crash' (stop running) and an error message
appears on the monitor to the effect " ... in MODULE ...", try to
take a so-called screen-dump (turn on your printer and press the
<PrtSc>-key while holding down the <Shift>-key), and mail me the
printed copy. I will need the error message and its cryptic
numbers in order to try to track down and correct the problem. I
might add, however, by way of reassurance, that INDEXX is fairly
well tested (debugged), and no user of any previous version has
reported losing data because of an internal programming flaw in
INDEXX.
If you would like to suggest improvements, please do write to
me. My address appears on the cover of this Manual.
- 5 -
1.8 Credits
The Manual and the source code for INDEXX were written using the
FinalWord II word-processor manufactured by FW Corp.
The source code was written in Microsoft's Quickbasic dialect
of Basic, and was compiled with that company's 4.50 compiler.
Certain assembly-language subroutines have been incorporated in
INDEXX. These were written by Thomas Hanlin III and Wayne M.
Hammerly. These routines are available in the ProBas profess-
ional programming library available from Hammerly Computer
Services, Inc., 8008 Sandy Spring Road, Laurel, MD 20207.
1.9 Disclaimer
This program is distributed "as-is". In no event will the author
or the distributor be liable for any damages, including lost
data, lost profits, lost savings or other incidental or
consequential damages arising out of the use of, or inability to
use, INDEXX and/or the additional software provided on the
distribution diskette.
- 6 -
Chapter 2
Tutorial
This manual is rather lengthy: it is intended to be a comprehen-
sive reference guide. But its sheer size may give the mistaken
impression that INDEXX is difficult to use. It is not. To see
how straightforward INDEXX is, let's put it through its paces
even before you read through to the end. If you follow the
tutorial instructions in this chapter, you will have learned most
of what you need to know. The finer points, in the next chapter,
can be safely left for another day after you're more experienced.
Understand that this Manual is similar to manuals which
accompany word-processors. That is, such manuals explain the
operations of the software; but they do not instruct you how to
write well or what to index. These latter (creative) skills are
best taught by very different kinds of manuals. If you are new
to indexing, you may want to read through the relevant sections
in the Chicago Manual of Style (University of Chicago, 1982) for
guidelines and pointers on how to choose effectively what you
include in your index.
2.1 Copying the distribution diskette and installing INDEXX
If you have not already done so, you should make a working copy
of the distribution disk(s) of INDEXX, and retire the original(s)
to a safe place. Make sure (each) distribution diskette has a
write-protect tab on it, and then copy the files INDEXX.EXE and
INDXPLUS.EXE onto a formatted diskette (e.g. B:\) or into a
subdirectory (e.g. C:\INDEXX\) on your hard drive. These copied
files will be your working version of INDEXX.
2.2 Obtaining a printed copy of the Manual
If you are reading this Manual on the monitor and not from a
printed copy, you can make a printed copy simply by placing a
diskette with copies of the files MANUAL.BAT and MANUAL.DOC in
drive A, and entering A:\MANUAL in response to the DOS prompt.
Then just follow the instructions on the monitor for readying
your printer.
- 7 -
2.3 Loading INDEXX
Floppy disk systems - On floppy disk systems, place your working
diskette, with a copy of INDEXX.EXE in drive A, and then enter
A:\INDEXX (note the double "XX") in response to the DOS prompt.
Since the entire program is loaded into memory, you may remove
the disk containing the program from the drive after the program
has loaded. On single-drive systems, you can then place your
data disk in this same drive.
Hard disk systems - On hard disk systems, before you load INDEXX
for the first time, create a subdirectory for your data files.
This subdirectory will be used in the tutorial which follows
shortly. Since DOS can create only one subdirectory per
instruction, you will need two "mkdir" (MaKe DIRectory)
instructions for our purposes.
c: <Enter>
cd c:\ <Enter>
mkdir c:\book <Enter>
mkdir c:\book\chapters <Enter>
Now you are ready to load INDEXX. Switch to the subdirectory in
which INDEXX.EXE resides. (Note the double "XX" when you type
"INDEXX".) E.g.
cd c:\indexx <Enter>
indexx <Enter>
(If INDEXX does not load, in particular if you get an error
message "Insufficient memory", turn to page 59 for corrective
action.)
2.4 Running INDEXX
The first thing INDEXX does when loaded is test to see which sort
of monitor adapter card is active in your computer. If you are
using a color graphics adapter card (CGA, EGA, VGA, or Super
VGA), INDEXX will pause to ask whether that adapter is connected
to a Full-color monitor or to a Monochrome monitor. Choose F
or M.[2] If you are using the monochromatic adapter, you cannot
be using a full-color monitor and this question will be skipped.
-----------
2. In the next chapter, I'll tell you how to configure INDEXX so
that this question can be skipped (see p. 29).
- 8 -
2.5 Creating an index file
Next in order are the opening logo and then the Main Menu. Take
a moment to familiarize yourself with then Main Menu, then choose
Option 1 - Begin a new index (i.e. create an index file).
Notice when you choose item "1" on the Main Menu that the keys
are set to `hot', i.e. you press a single key and do not have to
press the `Enter'-key to get INDEXX to respond. In general, when
a single-key response is requested in INDEXX, the keys are `hot';
but when you need to enter several characters, you will need to
press the `Enter'-key to inform INDEXX that you have reached the
end of the string of input data. Hereinafter, I'll indicate the
`Enter'-key (sometimes called the Carriage Return) by: <Enter>
As soon as you've pressed the "1"-key at the Main Menu, INDEXX
will switch to Option 1; the monitor will clear, and you will be
asked which drive and path you wish to use for your data file.
If you are using a floppy disk for your data files, be sure to
place a formatted, but otherwise empty, disk in the drive you are
about to specify, and then enter the so-called `drive spec.' for
that drive, e.g.
A:\<Enter>
or
B:\<Enter>
If you have a hard drive, INDEXX will work faster. For a hard
drive, specify the subdirectory you created (see p. 8) before
loading INDEXX, viz.
C:\BOOK\CHAPTERS\<Enter>
Whether you are using a floppy disk or a hard drive, you will
next be asked for a name to be given to your new data file. Just
type: TEST-ONE<Enter>
After the new file has been created, pressing the <Space-Bar>
will return you to the Main Menu.
2.6 Entering/Editing data in your index file
You're ready to start entering data in your file. Choose
Option 3 - Edit/Update (modify/add to) index. The Main Menu will
be erased and replaced by the display for Option 3.
At the very top of the monitor you'll see the name of the file
you're currently working on (it will read "TEST-ONE.IND"). On
- 9 -
line four will appear the last item you entered. When you first
start up, this line will read "[Nil]". And three lines below, at
the far right, you can see that the file has the status EMPTY
(i.e. has no data in it).
As you perform each of the instructions below, you may want to
check them off in the spaces provided [ (___) ], so that you can
be sure to perform every one.
As you enter data, that data will appear at the cursor, about
halfway down the monitor. If you make a mistake typing, the
backspace key, the delete key and the cursor keys can all be used
to correct your data before you press <Enter>.
The status of the CapsLock key is shown by an arrow on the
monitor immediately to the left of the prompt ["Heading:",
"Subheading:", or "Page(s):"]. To begin, make sure the keyboard
is shifted to lowercase (the arrow to the left of "Heading:"
should be pointing downward), and then type for the heading:
apples <Enter> (___)
Immediately a `query box' will appear a few lines below and will
tell you that this heading doesn't match any previous heading,
and will ask you to confirm that it is to be added to the file.
Answer Y (for "Yes" [upper or lowercase is immaterial]):
Y (___)
(Note that you don't have to press <Enter>. The Y-key and N-key
are set to `hot' for this query.) As soon as you reply Y, the
cursor will jump down to the next line, ready for you to enter a
subheading. We'll skip a subheading, by pressing <Enter>:
<Enter> (___)
Again the cursor will jump down a line, ready now for you to
enter the page(s).
45 <Enter> (___)
Immediately, this (new) item will be placed on line four as the
`last item' entered. You will also note that the status of the
file which was originally EMPTY has now changed to UNSORTED (i.e.
the file now contains data, but it is not alphabetized). Next
type the following. (Don't worry about the page numbers being
out of sequence.)
museums <Enter> (___)
Y (___)
<Enter> (___)
34, 55, 21 <Enter> (___)
- 10 -
This second entry will now replace "apples \ 45" on line four.
It, too, will be `new'. Now type:
apples <Enter> (___)
No confirmation will be asked in this case, since INDEXX will
find a perfect match to a heading that is already in the file.
Instead, INDEXX will proceed immediately to position the cursor
ready for the (optional) subheading. This time we will use a
subheading. Type:
sauce <Enter> (___)
Y (___)
23 <Enter> (___)
For your next item, (taking care to leave a space between "D."
and "Hume"), type:
D. Hume <Enter> (___)
As expected, the query box will appear. But before you answer
"Y", take careful note how INDEXX has reformatted the name. You
had typed "D. Hume", but what now appears is "Hume, D.". INDEXX
has split off the very last word (viz. "Hume") as the surname,
and assigned whatever was previous to it (viz. "D.") as given
name(s). Confirm that this is correct:
Y (___)
Skip over the subheading, and enter the page(s):
<Enter> (___)
67 <Enter> (___)
Now, let's try this again, but with a longer name, and with a
subheading. Type:
Charles Philip Arthur George Windsor <Enter> (___)
Observe how INDEXX split this entry. Again confirm that this is
correct, and then enter the subheading and the page(s). Type:
Y (___)
education <Enter> (___)
Y (___)
75 <Enter> (___)
When Prince Charles' lengthy name is placed on line four of the
monitor as the `last item' entered, there isn't room for the
entire name: it will be shortened to fit. Don't worry, however.
All of the heading has been recorded in your file. To see this,
you can use function key <F2>. Doing so, you will then be asked
whether you want to view the file `as-is', or whether you want to
`rough-sort' it first. Choose "V", for `view as-is':
- 11 -
<F2> (___)
V (___)
Look over the file a bit. (The complete entry for Charles occurs
as the last record in the file.) You will see at the outset a
twelve-record header which contains information that various
Options require about your file. Beginning with the 13th record,
you can see that each RECORD consists of three FIELDS - the
heading, the subheading, and the page citation(s). Each field is
marked out with double quotation marks and the three fields are
separated from one another by commas. INDEXX recognizes
SUBFIELDS only within the third field, i.e. among the page
citations; subfields are demarcated by commas. If there happens
to be no subheading under a given heading - e.g. in the case of
"museums" - the second field will simply be null (vacant).
Carriage-returns at the end of each record are shown on the
monitor as half-diamonds. (These carriage returns will likely be
represented by some other character, or may even be invisible, if
you edit the file in your word-processor.)
What you are looking at is `raw data'. To be sure, it doesn't
much resemble a polished book index. The headings are not
alphabetized, the page citations are out of order (e.g. on
"museums"), and the format bears little resemblance to the neat
columns of familiar indexes. It is the job of Option 4 to
alphabetize and sort this raw data, and then of Option 5 to
format it in standard form.
When you're ready, press <F10> (___) to return you to where you
left off in Option 3.
It's time to try the Automode. The Automode feature has INDEXX
supply the page number without your having to type it. To turn
on the Automode, press function key <F3> (___). About a quarter
of the way down the monitor, a line will appear telling you that
the Automode is ready to enter data for page 75 (i.e. continuing
on the last page you specified). Type:
apples <Enter> (___)
pies <Enter> (___)
Y (___)
For the page(s), do not type any number at all, but simply press
<Enter>:
<Enter> (___)
You will see that "apples \ pies" now appears on line four
bearing the page citation "75".
You can change the setting of the Automode by using function
keys <F5> and <F7>. Press <F5> twice:
- 12 -
<F5> (___)
<F5> (___)
The Automode will update to page 77. Now type:
apples <Enter> (___)
<Enter> (___)
<Enter> (___)
Line four will now show "apples" recorded at page 77.
You can also update the Automode simply by entering an updated
page number with your data, i.e. by entering a page number as if
the Automode were not on. Type:
art <Enter> (___)
Y (___)
sculpture <Enter> (___)
Y (___)
85-93 <Enter> (___)
The Automode has updated to page 85 (not to 85-93). Now type,
without using a page number:
apples <Enter> (___)
varieties <Enter> (___)
Y (___)
<Enter> (___)
A citation for the subheading "varieties", under the heading
"apples", is recorded for page 85. You can see why the Automode
is programmed to use only the first number in a sequence of page
citations that might be entered on any given item, e.g. why it
did not use all of the sequence "85-93" entered a moment ago for
"art \ sculpture": it's very unlikely that subsequent data
entries would be for precisely the same span (range) of pages.
Having seen how the Automode works, we'll turn it off now by
pressing <F3>:
<F3> (___)
We are coming up to the 10th entry. As soon as the 10th entry
is added to the file in memory, the entire file will be
automatically written to disk. (If you are using a hard drive,
this automatic saving-to-disk may occur so quickly that you are
not aware of it.) Your data are written out to disk after every
ten entries so as to insure that little will be lost in case of a
power failure, etc.
For your 10th entry, let's enter another page citation for
Prince Charles. Only this time we won't have to type his full
name. INDEXX's ability to retrieve partial matches makes the
entry of successive page citations on previously entered headings
- 13 -
and subheadings remarkably easy and assures identity of spelling
on each occasion. We need type only a few letters and INDEXX
will find a match on the previously entered record.
Suppose you want to add page "235" to the earlier subheading
"education" under "Windsor, Charles Philip Arthur George".
Typing all of this out in full would be a bit daunting. But you
need, in fact, type remarkably little. Begin by retrieving the
heading "Windsor, Charles ... etc.", by typing:
W <Enter> (___)
The monitor will clear, and you'll now be presented with a more
elaborate query box listing all the `partial matches' INDEXX has
found in the data file. In this case, there's only one. Confirm
the match:
<Enter> (___)
You're ready now to retrieve the subheading "education" and to
add the page(s):
e <Enter> (___)
<Enter> (___)
235 <Enter> (___)
That was pretty easy, you'll have to admit. Not many keystrokes
used, were there?
As soon as you finish entering this 10th item, INDEXX will
disable your keyboard and flash a message that it is writing your
data file to disk. When the writing is completed, you may resume
entering data.
For the 11th entry, type:
David H <Enter> (___)
Again, a list of partial matches will appear. Confirm that this
is a match with the earlier entered "Hume, D.". Respond:
<Enter> (___)
Yet another query box will appear, one you've not seen earlier.
This latest entry "David H" contains not only an abbreviation
("H") for the earlier surname ("Hume"); it also contains a given
name ("David") which is longer than the one ("D.") presently in
your data file. INDEXX has taken the longer surname from the
earlier entry and combined it with the longer given name from
this latest entry and displayed the result as the "proposed
revision". (Pretty clever, wouldn't you say?) Accept the
revision:
Y (___)
- 14 -
The monitor will revert to the familiar display for Option 3, and
you can see that the input beside "Heading:" now reads
"Hume, David". Skip the subheading, and add the page(s):
<Enter> (___)
49 <Enter> (___)
Let's now see what happens if you violate the proper format for
a data item. Type the following improper entry, where you add a
dangling comma after "apples":
apples, <Enter> (___)
An error message has appeared telling you that you have used a
comma incorrectly. Press the <Space-Bar> (___) to remove the
error message, and then correct the mistaken entry. (Here you
can conveniently use the <Backspace> key to erase the comma.)
Skip the subheading, and then enter an improper set of page
numbers, specifically:
<Backspace> <Enter> (___)
<Enter> (___)
56, , 7 <Enter> (___)
Again, you'll be told that you've misused commas. Again press
the <Space-Bar> (___) to remove the error message. But this
time, let's erase the entire mistaken line. To do this, press
the <Esc> (escape) key.
<Esc> (___)
56, 7 <Enter> (___)
(If you want to erase not just one field - i.e. the current
heading, subheading, or page(s) - but all the input data
displayed on the monitor, use <F6>. [See the `info' line at the
very bottom of the monitor.])
The `normal' data entry mode (which we've been using) is
suitable for single-word entries (e.g. "apples") and persons'
names (e.g. "David Hume"). It always reformats the entry by
switching the very last word into the leading position. Thus it
would reformat "New Jersey" (incorrectly) as "Jersey, New", and
"Arthur Sullivan and William Gilbert" (incorrectly) as "Gilbert,
Arthur Sullivan and William". To enter data without
reformatting, you must use the alternative, `string', mode for
data entry. To switch back and forth between `normal' and
`string' modes, for either headings or subheadings, press the
<F1> function key.[3] Let's try this for the last example just
-----------
3. No reformatting is available (or wanted) for page entries,
i.e. only the string mode is available for page entries.
- 15 -
mentioned. Begin by switching from the `normal' to the `string'
mode.
<F1> (___)
Immediately the reminder on line nine, in the middle of the
monitor, will change. Now type:
Sullivan, Arthur, and William Gilbert <Enter> (___)
Y (___)
<Enter> (___)
67 n.2, 23, 100 <Enter> (___)
On completing this latest entry, you are returned to the Normal
data input mode. The Normal mode is the default setting for
headings; the string mode is the default setting for subheadings.
(You can change the default for the heading by the use of the
<F9> function key, but we'll leave that for you to learn in the
next chapter.)
Let's sum up a bit. As you have seen, whenever you enter a
heading (e.g. "H" for "Hume") or a subheading (e.g. "e" for
"education"), INDEXX immediately searches the file for exact and
for partial matches (using in the latter case a kind of `fuzzy
logic'). If it finds an exact match, it then positions the
cursor for the next field. If it finds only partial matches, it
displays them for you to select one among them. If neither an
exact nor a partial match is found, you are then asked to confirm
that you want your input regarded as a `new' entry.
In effect, INDEXX always operates in the `search' mode, looking
for perfect and/or partial matches on the letters entered from
the keyboard. For either type of match to be found, the leading
letters must match.
But what if you can't remember what the leading letters were?
Suppose you remember having used the heading "apples", but cannot
remember what the subheadings were. To retrieve all the
subheadings for perusal and selection, you can use the wildcard,
"*". You'd begin by retrieving "apples", e.g.:
ap <Enter> (___)
<Enter> (___)
Having retrieved that heading, you can now use the wildcard, "*",
to retrieve all its subheadings:
* <Enter> (___)
A list of all the subheadings (roughly sorted) will appear on the
monitor. Use the cursor keys to select which one you want.
We'll choose "varieties":
- 16 -
<Csr-down> (___)
<Csr-down> (___)
<Enter> (___)
148 <Enter> (___)
We've just used the wildcard "*" to retrieve all the
subheadings under the heading "apples". But the wildcard can be
used `the other way around' as well, that is, to retrieve all the
headings under which some particular subheading occurs. Suppose,
for example, you wanted to add a further page citation, "301", to
the subheading "sculpture", but could not remember under which
heading - "art" or "museums" - you had previously listed this
item. You could type "*" in place of the heading, enter "s" for
the subheading, and leave the rest to INDEXX: the program will
find and display (for your choosing) all the headings under which
"s..." occurs as a subheading. Try it:
* <Enter> (___)
s <Enter> (___)
<Csr-down> (___)
<Enter> (___)
301 <Enter> (___)
Notice that we had forgotten about "sauce" as a subheading under
"apples". Since we specified only "s" as the subheading, INDEXX
retrieved more partial matches than it would had we been more
specific, e.g. if we had entered "scu" as the subheading.
Obviously, the more specific the data entered, the fewer the
number of partial matches.
There is one restriction on the use of the wildcard: it may be
used in place of EITHER the heading OR the subheading; but you
cannot use it for both. If you think about it, using the
wildcard twice would be equivalent to seeking a partial match on
every record in the file. Instead, if you want to view the
entire file, use function key <F2>.
There are four more features of the Option 3 you'll want to
test in this tutorial: typeface codes; `as-if' codes; cross-
referencing; and on-screen editing.
INDEXX utilizes the less-than and greater-than signs
(accompanied by any letter) as typeface codes. For example, if
you wanted
The Fall of the House of Usher
to print in italics, you could enter (in the string mode):
i<The Fall of the House of Usher>i
Note that codes come in pairs; a typeface - italics, underlining,
boldface, etc. - is turned on by "n<" and is turned off by ">n".
The actual letters you use is up to you: these are proxies (or
- 17 -
stand-ins or dummies) as far as INDEXX is concerned. You will
need to do a `global search and replace' on these codes, using
your word-processor, in the final file INDEXX produces. I
personally use "i< ... >i" for italics; "b< ... >b" for boldface;
and "u< ... >u" for underlining. After INDEXX has produced its
final print file, I use my word-processor to replace these stand-
in codes with the ones which my word-processor uses for italics,
boldface and underlining respectively.
Let's enter "i<The Fall of the House of Usher>i" as an entry in
our index. Just to see what happens, we will deliberately
`forget' to switch to the string mode.
i<The Fall of the House of Usher>i <Enter> (___)
Operating in the normal data input mode, INDEXX has reformatted
this to read "Usher>i, i<The Fall of the House of" and has given
us an error message that the typeface codes do not match.
(Indeed they don't!) Erase the error message and switch to the
string mode:
<Space-Bar> (___)
<F1> (___)
<Enter> (___)
Y (___)
<Enter> (___)
38 <Enter> (___)
Any item or page citation can be italicized, etc. But if you
want to use typeface codes with page citations, be sure that no
commas occur within the codes, otherwise, e.g. "i<70, 16, 51>i"
would be sorted to yield "16, 51>i, i<70". If you try to enter
such potentially problematic data, INDEXX will catch this
mistake, and will require that you fix it. In this instance,
you'd have to enter: "i<70>i, i<16>i, i<51>i".
You may, if you like, embed (or `nest') one typeface code
inside of another. It is perfectly permissible, for example, to
enter "i<b<Russell>b, Bertrand>i". You will not be permitted,
however, to use overlapping codes, e.g. anything of the sort
"i<b<Russell>i, Bertrand>b". INDEXX will produce an error
message if you try to enter such data.
Sometimes it is necessary to inform INDEXX to sort (or
alphabetize) some item `as-if' it were something else. E.g. you
might want the movie title, "i<2001>i", alphabetized as if it
were "two thousand one". INDEXX reserves curly brackets to
designate `as-if' codes. In this instance, you'd type:
<F1> (___)
i<2001>i {two thousand one} <Enter> (___)
Y (___)
<Enter> (___)
159 <Enter> (___)
- 18 -
(I hope it's obvious why you needed to type <F1> to begin.)
If, later, you wanted to add another page citation to this
entry, you'd have to type as your heading "i<2>i". INDEXX would
not find a match on "2" since the record in the file begins with
"i", not "2". And you'd have to complete the pair of brackets,
since INDEXX would reject, as a mistake, an entry of the form
"i<...".
Just to be sure you see how this is done, let's try it. Type:
<F1> (___)
i<2>i <Enter> (___)
<Enter> (___)
<Enter> (___)
219 <Enter> (___)
(In this latter case, the use of the <F1> key wasn't strictly
necessary; but it did no harm to use it.)
One of the principal uses for `as-if' codes is to alphabetize
correctly those pesky Roman numerals in Forewords and Prefaces.
Suppose the page citations for "museums" includes both Roman and
Arabic numerals. You could type the following:
museums <Enter> (___)
<Enter> (___)
ix {0.09}, xviii {0.18}, 63 <Enter> (___)
By using `as-if' values less than 1.00, you force the Roman
numerals to appear earlier than any of the Arabic numerals
(which, presumably, begin with "1"). If the largest Roman
numeral is greater than nine, use two digits to the right of the
decimal point. (You wouldn't want to use "{0.3}" and "{0.21}" as
the `as-if' codes for "iii" and "xxi". If you did use these
values, "iii" would be placed after "xxi" when they were sorted.
Instead you'd want to use "{0.03}" for "iii" and "{0.21}" for
"xxi" in order to get the order correct. To simplify matters, I
myself make it a practice always to use two digits, "0.00"
through "0.99", to the right of the decimal point when I use
`as-if' codes for Roman numerals.)
Incidentally, INDEXX will not permit you to `nest' typeface
codes inside of `as-if' codes, nor `as-if' codes inside of
typeface codes. INDEXX would report an error, for example, if
you were to type: "i<2001 {two thousand one}>i". Instead, you
would have to type this as was shown above, viz., "i<2001>i {two
thousand one}"
Sometimes you may want to cross-reference entries, e.g. you may
want the entry "galleries" to direct the reader to the later
entry "museums". To do this, you simply enter the cross-
reference in the heading, and enter for the page number the
special three-digit sequence "000". When INDEXX formats your
- 19 -
data file (in Option 5), if it finds that the only page citation
is "000", it will not print any page citation whatever. Thus you
would enter:
<F1> (___)
galleries. i<See>i museums <Enter> (___)
Y (___)
<Enter> (___)
000 <Enter> (___)
If you want to use "see also", a case where you would want to
include page numbers, you would do it this way:
<F1> (___)
magazines (i<see also>i journals) <Enter> (___)
Y (___)
<Enter> (___)
234, 267 (___)
Sometimes one wants to place the "see also", not immediately
after the heading, but at the tail end of the page citations. If
so, you could enter the "See also" among the page citations and
force it to appear at the tail end by using an `as-if' code,
choosing for that code a number greater (e.g. 5000) than the last
page number of the book. E.g.
philosophy <Enter> (___)
Y (___)
<Enter> (___)
12, i<See also>i Hume$ David {5000}, 128 <Enter> (___)
In this last entry you can see the use of a fairly common
programming trick. The "$" in place of a comma between "Hume"
and "David" is no mistake. INDEXX recognizes "$" as a
`surrogate' comma if "$" occurs among the page citations. Among
the page citations, the comma demarcates subfields, i.e. it
separates one page citation from another. Thus the sort routine
(Option 4) will reorder a string of page citations, "34, 12, 61"
to read "12, 34, 61". But sometimes we want to use a comma, not
as a marker between page citations, but as an integral part, i.e.
within, a single page citation. In the current case, we want the
final printout to feature a comma between "Hume" and "David", but
we do not want the sort routine (Option 4) to treat "i<See also>i
Hume, David {5000}" as being comprised of two separate page
citations, viz. "i<See also>i Hume" and "David {5000}". Treated
this latter (incorrect) way, the two parts would probably become
detached from one another in sorting. So we use a "$" in place
of the comma we want to `hide', in order to get the entire single
string "i<See also>i Hume$ David {5000}" safely through the sort
routine. Later, when it creates the final print file, INDEXX
will replace all occurrences of "$" among page citations with
commas. (Commas are not used as subfield demarcation in headings
and subheadings, and there is consequently no need for the use of
surrogate commas in either of those fields. I.e. "$" is regarded
- 20 -
as a surrogate comma only when it occurs among the page
citations. [For more on cross-referencing within the page
citations, see p. 40.])
There's one last feature to be discussed: the on-screen
editing.
To edit a record on-screen, you must first retrieve it from the
file. To do this, you proceed exactly as if you were adding to
it, except that instead of entering page numbers, you press <F4>
to switch to the on-screen editor.
For an example, let's suppose we decide, late in the day, that
we want to go back and italicize the Roman numerals we earlier
entered for "museums". We begin by retrieving that record, but
instead of entering any page citations, we press <F4>:
mu <Enter> (___)
<Enter> (___)
<Enter> (___)
<F4> (___)
The monitor is immediately switched to the On-screen Editing Menu
(which also displays the current record being edited). The
Editor Menu presents a number of editing options, including
"Pages edit". Since it is the page field we wish to edit, we
press "P":
P (___)
We can now use the cursor keys, etc., to move around in the field
to edit it as we choose. Edit it so that it looks like this:
i<ix>i {0.09}, i<xviii>i {0.18}, 21, 34, 55, 63
When you're finished, press <Enter> (___) to return you to the
Editor Menu. What will fit of the revised field is displayed in
the upper right hand corner. You're ready now to return to
Option 3. Press "A" to accept the changes:
A (___)
Y (___)
You are now back in Option 3. Use <F2> to view the file to see
that the changes have actually been made:
<F2> (___)
V (___)
<F10> (___)
Once again you're back in Option 3, with the cursor positioned to
accept page(s). Since we have no pages to enter (we simply
wanted to correct an earlier entry), we'll erase the monitor
display. Remember, <F6> will clear the monitor.
- 21 -
<F6> (___)
(The on-screen editing facility can do a great many other tricks
as well. But we'll leave that for you to read in the next
chapter.)
We've now seen most of what can be done in Option 3. Press
function key <F10> to exit from Option 3:
<F10> (___)
Your data file will be written to disk, and with a press of the
<Space-Bar> (___), you've climbed back up to the Main Menu.
2.7 Alphabetizing your index file
Choose Option 4 - Alphabetize index (___). Once again the
monitor clears and now you're in the Sorting option. All the
settings are explained and illustrated on the monitor. You will
probably want to look these over a bit, but we'll use the factory
settings in this tutorial. When you're ready, press "Y" (___).
A new screen will appear, listing all the `little' words to be
ignored in sorting. Again, we'll use the factory settings.
Press "Y" (___).
The monitor will clear still again, and the sorting procedure
will proceed. You'll be informed if there were any problem
cases. There shouldn't be if you've followed the directions
above correctly. Press the <Space-Bar> (___) to return to the
Main Menu.
2.8 Formatting and printing your index file
Now choose Option 5 - Format index for printing (___). Just as
in Option 4, the settings will be displayed. Once again, we'll
choose the factory defaults by pressing "Y" (___).
Option 5 will now write out to disk a new file which contains
the formatted output. You will be asked if you want to view the
formatted file or if you want to print it. If you choose either
one, you'll be given an opportunity - after it is completed - to
choose the other as well. Press "V" (___) to view the formatted
file. The monitor will clear, and the following should appear:
- 22 -
INDEX
apples, 7, 45, 56, 77
pies, 75
sauce, 23
varieties, 85, 148
art
sculpture, 85-93, 301
i<The Fall of the House of Usher>i, 38
galleries. i<See>i museums
Hume, David, 49, 67
magazines (i<see also>i journals), 234, 267
museums, i<ix>i, i<xviii>i, 21, 34, 55, 63
philosophy, 12, 128. i<See also>i Hume, David
Sullivan, Arthur, and William Gilbert, 23, 67 n.2, 100
i<2001>i, 159, 219
Windsor, Charles Philip Arthur George
education, 75, 235
There are several things to note about this printout.
- Some headings, e.g. "apples", have page citations, and
others, e.g. "art", do not. If you enter page(s) for a
heading, they will appear alongside that heading; if,
however, you enter page(s) only for subheadings under a
heading, the heading (as you can see in the case of "art")
will appear without page citations.
- The heading, "The Fall of the House of Usher", is
alphabetized as if it began, not with "T", but with "F".
This is so because "the" is among the `little words' the
sort routine (Option 4) ignores. Indeed, this particular
title was sorted as if it read "Fall House Usher" since
"of", too, is among the `little words' ignored.
- The movie title, "2001", was alphabetized as if it were
"two thousand one". In this instance, we had explicitly
specified, by using an `as-if' code in curly brackets, that
it was to be so regarded.
- All the explicit `as-if' codes ("{...}") and the surrogate
commas ("$") have disappeared from this final printout.
They were used in generating this output, but they do not
occur in it.
- In the entry "philosophy", the format routine has found
"See also" among the page citations. The formatter is
clever enough to figure out that when "See also" occurs
among the page citations, it should be preceded by a
period. Thus the formatter has changed the comma after
"128" to a period. (Gosh, how clever can indexing software
get?)
- 23 -
When you're through admiring your handiwork, press <F10> (___) to
return you to Option 5. Again you're presented with the choice
of viewing the file or printing it. This time choose the print
option. Press "P" (___). Ready your printer, and then press the
<Space-Bar> (___). The formatted output which you viewed a
moment ago should now appear on your printer. When the printing
is finished, press <F10> (___) to return you to the Main Menu.
At the Main Menu, press 7 to exit (___). You will be warned
that you've not made a backup copy. Normally you should make a
backup copy, but since this is only a test run with faked data,
you may safely ignore the warning. Press "N" [for "No"] (___).
2.9 Exploring the files on your data disk
When you're back at the DOS level do a DIR[ectory] listing of
your data disk. There should be three files on it: TEST-ONE.IND
(this is your latest data file); TEST-ONE.OLD (this is the next-
to-last version of your data file, it will contain your data as
it appeared before it was input to Option 4); and third,
TEST-ONE.PRT (this is the formatted output file, the one which
you viewed and printed in Option 5).
Finally let's return to INDEXX. At the DOS prompt, type:
INDEXX <Enter>.
2.10 Retrieving a file in progress
Again you're at the Main Menu. But unlike the first time you
loaded INDEXX, there is now a data file on your data disk. Let's
retrieve that file and continue adding data to it. Choose
Option 2. Again you will be asked the drive and path for the
subdirectory where your data file(s) are to be found. Specify
the appropriate path (e.g. "A:\", "C:\BOOK\CHAPTERS\", etc.).
The names of all your latest data files (those bearing
extensions ".IND" or ".2ND") will appear on the monitor. (Note
that TEST-ONE.OLD [your next-to-last file] and TEST-ONE.PRT [the
formatted print file] are not included.) Since there is only one
.IND file on your disk (and no .2ND), it alone appears. If there
were several .IND files, all their names would appear, and you
could choose one by moving the monitor highlighting with the
cursor keys. But for the moment, you can only hit <Enter>.
INDEXX will retrieve the file whose name is highlighted. You'll
be asked if you want the data checked as it is read-in. If
you've not modified the file with your word-processor, choose
"N". If, however, you have modified the file, you'd be much
safer choosing "Y", to see whether you may have, inadvertently,
introduced some critical error. Once the file has been
successfully read, the monitor will clear and you will be
- 24 -
informed of the status, etc., of that file. Pressing the
<Space-Bar> will return you to the Main Menu.
Choose Option 3. You can now continue adding data to your file
as if you had never exited Option 3 earlier. As soon as you do
however, note that the status changes from SORTED to UNSORTED.
* * * * *
From here on, you're on your own. Experiment a bit - especially
try entering incomplete data (as above) to see how INDEXX returns
partial matches; enter invalid data, e.g. use incomplete or
overlapping typeface codes; use <F2> to view your file as you add
data to it; view your file (using <F2> in Option 3) before and
immediately after sorting it in Option 4; choose Word-by-word
sorting in Option 4; etc. - and then when you begin to feel
comfortable with INDEXX, read the following chapter which will
discuss the operation of INDEXX in much greater detail.
- 25 -
Chapter 3
Detailed operation of INDEXX
You will find this chapter easier to understand if you have
worked your way through the tutorial in the previous chapter.
3.1 The Main Menu
On completing any of Options 0 through 6 which you call from the
Main Menu, you will automatically be returned to the Main Menu.
You can, however, at several opportunities, stop any Option in
mid-course, and return to the Main Menu, by pressing <F10>.
There is a reminder to this effect on the bottom line of the
monitor whenever <F10> is enabled. <F10> is always inoperative
(disabled) during all reading and writing to disk. This is to
insure that files are completely read and written.
3.2 Option 0 - Changing the defaults
Option 0 may be selected from the Main Menu as well as from
Option 3. If your computer is equipped with a color adapter card
(any of CGA, EGA, or VGA)[4], and if you had at the outset chosen
"F" (Full-color monitor) (see p. 8), Option 0 will present you
with an intermediate menu offering (at first) two choices:
(C)hoose Screen Colors; (S)et Operating Parameters. If you are
using a monochrome monitor, this intermediate menu will be
skipped and you will go directly to the `Set Operating
Parameters' menu.
-----------
4. If your computer is equipped with both a color (graphics) card
and a monochrome (text) card, before loading INDEXX you will
have to choose one or the other by use of the DOS MODE
command. At the DOS prompt, type
MODE CO80
or MODE MONO
to choose the Color or Monochrome adapter card, respectively.
- 26 -
3.2.1 Choose screen colors (full-color monitor only)
If you are using a full-color monitor and select (C)hoose Screen
Colors, you will then be given a choice of (F)actory settings or
(P)alette. If you choose Palette, you will then be presented
with a display of 240 available screen colors and will be asked
to choose a `primary' pair and a `secondary' pair. Just select
numbers from among those displayed. Each pair consists of a
foreground color and a background color. Foreground must not
equal background otherwise what is printed on the screen would be
invisible. The primary pair will be used for normal screen
display; the secondary for highlighting (contrast). The primary
pair must differ from the secondary pair.
3.2.2 Set operating parameters
The `Set Operating Parameters' menu will list five parameters
(six, if you are using a monochrome monitor) along with their
current values which you may change if you like. To leave a
value unchanged, press <Enter>, and the cursor will skip to the
next parameter in the list. To change a parameter, simply type
the new value. The five (/six) parameters which may be changed
are:
SOUND
At various places, if INDEXX detects an error in data
that is input from the keyboard, or an error in reading
or writing to disk, it will emit a warning beep. If you
wish to turn the sound off just press N [for No]; press
Y[es] for sound on.
FREQUENCY OF WRITING TO DISK
In Option 3, INDEXX saves your data to disk (using the
extension ".IND") after every tenth entry (or at whatever
frequency [10 - 50] you specify in this Option). This
automatic writing to disk assures that in the event of a
power failure, or removing the disk prematurely, you will
still have most of your work saved. On retrieving your
file (Option 2), you will automatically be informed (on
the start-up of Option 3) of the last entry recorded on
disk, and thus should be able to pick up from that point
with no difficulty.
In Option 3 (as in Option 4 [alphabetizing of your
data]), whenever INDEXX writes your file with the
extension ".IND" to disk, it saves your previous version
of the file by changing its extension to ".OLD". In this
way, your next-to-last file is also always available.
Should anything untoward happen to your ".IND" file, or
to its backup, ".2ND", you can then use DOS to change the
extension of the ".OLD" file to ".IND" and - at worst -
you will be only ten (or so) items back from where you
- 27 -
last left off entering data. Normally, however, you will
never have to concern yourself with the existence of the
file ".OLD". It is created purely as an extraordinary
backup measure.
DATA ENTRY MODE (in Option 3)
In Option 3, there are - as you saw in the Tutorial - two
data input modes: Normal and String. Option 0 allows you
to choose which will be the default data entry mode for
headings. (The default mode for subheadings is always
`string' [although it can be changed temporarily by
<F1>]; and only the string mode is available for page
entries.) If you choose `Normal' or `String' as the
default mode, INDEXX will begin in that mode for each new
data entry, i.e. for the entry of the heading, even if
you had switched modes (using <F1>) on the previously
entered heading. If, however, you choose `Manual',
INDEXX will, each time, revert for the heading to the
mode you used previously for the heading. In manual
mode, you could thus switch back and forth between
`Normal' and `String' by using <F1>, but would stay in
either mode (for headings) until manually switching out
of that mode. With a little experimentation, you will
quickly find which setting best suits your data.
(Remember, you can change this default `on the fly' by
calling Option 0 from Option 3.)
CONFIRMING UNMATCHED ITEMS (in Option 3)
As you enter data in Option 3, some of it will be matched
to previously entered data, but some of that data will be
wholly new, i.e. not even partially matched to previous
data. You have a choice: either new items will be added
directly to the file, or INDEXX will pause and ask you
whether you want the new item added. The pause allows
you to double-check the spelling and correctness of the
item.
SCREEN UPDATE
[Color adapters (CGA, EGA, or VGA) only] INDEXX can write
data to the screen at two different speeds. On some
vintage CGAs, writing at fast speed to the screen causes
visible and objectionable `snow'. If you have CG adapter
(CGA), experiment with the Fast speed to see what
happens. If you have an EG adapter (EGA) or a VG adapter
(VGA), choose Fast.
SCREEN FOREGROUND
[Monochrome monitors only] You can choose to have the
monitor set to W(hite) foreground on a black background,
or B(lack) foreground on a white background. (Note that
changing this parameter does not take effect until the
<Enter> key is pressed to exit the Default menu.)
- 28 -
Note that if you have a monochrome monitor attached to a color
adapter (CGA, EGA, or VGA), you can choose either of Fast/Slow
AND either of White/Black.
On exiting Option 0, you will be returned to wherever you had
been in INDEXX, viz. either to the Main Menu or to Option 3.
3.2.3 Command line parameters
Any of the parameters which can be (re-)set in the `Set Operating
Parameters' menu, may equally well be set at the DOS level, when
loading INDEXX. In addition, you can set the path to be used for
input and output. At the DOS prompt, one merely appends the
relevant instruction to the command "INDEXX". For example, to
specify that the path for input/output to be used for Options 1
and 2 is to be "C:\BOOK\CHAPTERS\", and the frequency of saving
is to be 25, one could instruct DOS as follows:
> INDEXX PATH C:\BOOK\CHAPTERS\, FREQ 25
The effect is exactly the same as having set the path in Options
1 or 2 and having set the FREQ(uency of saving) in Option 0.
The permitted Command Line parameters are:
Any of: PATH A:\...\...\
PATH B:\...\...\
etc.
Either of: SOUND YES [or SOUND ON]
SOUND NO [or SOUND OFF]
Any value between: FREQ 10 - FREQ 50
Any one of: NORMAL
STRING
MANUAL
Either of: CONFIRM YES [or CONFIRM ON]
CONFIRM NO [or CONFIRM OFF]
Any one of: WHITE
BLACK
COLOR [or RGB]
Either of: FAST [applies to color adapters
SLOW (CGA, EGA, VGA) only]
If you are using a color adapter and specify any of "White",
"Black" or "Color" on the Command Line, the initial screen which
asks which kind of monitor is being used will be skipped.
- 29 -
The Command Line may be typed in any combination of upper and
lowercase that you like. You may also use any (combination) of
four different separators (delimiters) - spaces, commas, slashes,
and/or dashes - between the various parameters. (Note "PATH",
"SOUND", FREQ", and "CONFIRM" must immediately be followed by a
blank.) And the various parameters may appear in any order.
3.2.4 Using a .BAT file
If you use a standard set of parameters, you can set up a batch
file which automatically specifies these parameters to INDEXX.
You could use EDLIN or your word-processor to create a batch
file, let's say, GO.BAT, whose content, for example, might be:
INDEXX FREQ 25 -Path C:\book\Chapters\, black /fast
Were you then to instruct DOS
>GO <Enter>
DOS would load INDEXX, would switch the monochrome monitor to
display black on white, would write to the monitor adapter at the
fast speed, and would set the two operating parameters, FREQ and
PATH, to 25 and C:\BOOK\CHAPTERS\, respectively.
If you don't specify any Command Line parameters, the defaults
(start-up settings) are:
Sound on FREQ 10
Normal Confirm on
Slow White
There is no default setting for PATH.
3.3 Option 1 - Creating an index file
You will first be asked for the name of a path to a pre-existing
subdirectory. (INDEXX cannot create a new subdirectory.) Once
you have entered a path (e.g. C:\BOOK\CHAPTERS\), INDEXX will
check to see that the designated subdirectory actually exists on
the designated drive. If that path does not exist, an error
message will appear and you will have to enter a new path. Once
the path has been verified, you will next be asked to enter a
name to be given to your file. The file name may contain up to
eight letters. Blanks will be replaced by underscores, "_", to
accord with IBM DOS conventions for naming.
You can have several indexes in progress at one time on one
disk. You might find it convenient, for example, to create one
file per chapter: this would allow you to review and check small
- 30 -
segments as you work. These segments can later be assembled into
a complete index (the procedure is described in Chapter 4). You
might want to use names such as "CHAP01", "CHAP02", etc.
INDEXX will provide appropriate extensions as needed for the
various working files it generates. For example, when you first
create a file, e.g. "CHAP06", INDEXX will add the extension
".IND" [INDex], yielding "CHAP06.IND".
Since INDEXX holds only one file in memory at a time, creating
a new file (with Option 1) or retrieving a file (Option 2) will
clear from computer memory any file you had just been working on.
To prevent your losing data, INDEXX is designed to prevent your
getting to Options 1 or 2 without your updated file in memory
having been written out to disk.
3.4 Option 2 - Retrieving a file in progress
Just as in Option 1, you will have to enter the path to the
subdirectory holding your .IND files.
Option 2 will present you with a list of all files in the
designated subdirectory which bear extensions, ".IND", and
".2ND". Any of these may be retrieved for updating (Option 3) or
sorting (Option 4). Only sorted files (those having been
alphabetized by Option 4) may be formatted for printing
(Option 5).
Choose the file you wish to retrieve by using the cursor keys.
Then press <Enter>. You will then be asked if you want the
records checked for errors as they are read. If you have altered
the file in any way with your word-processor, you should choose
"Y"; the reading will be slower, but critical errors will be
detected and revealed. Once the entire file has been read into
memory, its status - Empty, Sorted, or Unsorted - will be
displayed (see section 3.6, page 48 for definitions). You will
also be told the number of records currently in the file, and the
day and time it was last modified.
3.4.1 Errors detected in reading the data file
If Option 2 cannot read your file properly, it will display an
error message identifying the particular record which contains
the error and will tell you exactly what that error is. This
error will have to be repaired with your word-processor.
Similarly if you have merged two files (using Option 8) so that
the resulting file contains more than 2,000 records or exceeds
the memory capacity of INDEXX, Option 2 will cease reading the
file when either of these limits is reached. You will then have
- 31 -
to use Option 10 in INDXPLUS to split the oversized file into
smaller, more manageable, files.
3.5 Option 3 - Updating the index
This is the workhorse section of INDEXX, where you will enter and
edit your data. Two input modes are provided, for `normal'
entries, and for `string' entries.
3.5.1 Normal data entry mode
On first entering Option 3, the monitor will be set to receive
data in the so-called `Normal Mode'. You can switch between
modes by pressing <F1>.
The normal mode is ideally suited for all data which are either
(1) a single word, e.g. "tribalism", or (2) a person's name, e.g.
"Henry James" or "C.E.M. Joad". All of the following are
acceptable entries in the normal mode:
C. E. M. Joad
C.E.M. Joad
Henry James
tribalism
In the `normal' mode, INDEXX looks for the last blank space and
considers the single word following it to be the surname to be
alphabetized; what precedes the blank is considered the first, or
given, name(s). The series of words will be re-formatted
accordingly, e.g. "Henry James" will become "James, Henry".
Given names may, of course, include, or consist entirely, of
initials.
Although perfectly suited for single words and the names of
single authors, etc., the normal mode is ill-suited for entries
which consist of two or more words, e.g. "New Jersey" or for a
series of names of two or more persons, e.g. "William Gilbert and
Arthur Sullivan". For the normal mode would re-format the former
of these (incorrectly) as "Jersey, New" and the latter (again
incorrectly) as "Sullivan, William Gilbert and Arthur". To
accommodate such cases, you will need to take recourse to the
`string' mode.
3.5.2 String data entry mode
To enter data which do not fit the `normal' pattern, i.e. for
which no re-ordering of words is wanted, press <F1> to switch to
- 32 -
`string' input.[5] In the string entry mode, you would enter
e.g. "New Jersey" or "Gilbert, William, and Arthur Sullivan".
Thus if you want to enter a person's name in the string entry
mode, and want INDEXX to alphabetize on that person's surname, it
will be necessary - unlike the `normal' entry mode - for you,
yourself, to place the surname before the person's first name.
In the normal entry mode, you would enter "Henry James"; but in
the string mode, you would want to enter, instead, "James, Henry"
[with a comma].
3.5.3 Subheadings
Once you have entered the heading, the cursor will jump down on
the screen ready for you to enter a subheading. If there is to
be no subheading, simply press <Enter> to skip.
For example, after you have entered "James, Henry" as a
heading, the cursor will jump down ready for you to enter a
subheading. You might then choose to enter: "education".
The default entry mode for subheadings is permanently set to
String. You can, however, switch to Normal with the use of the
<F1> function-key.
3.5.4 Internal file fields
If you were to enter the data shown above (along with some
suitable page citations), the list as internally stored in
computer memory - and on writing (extension ".IND") to disk -
might look like this:
"Joad, C.E.M.","","64, 82"
"James, Henry","education","42"
"tribalism","","81, 88-91, 46 n2"
There are a few features worth pointing out in this last list.
- You will see that a data record in INDEXX always consists
of three fields - a heading, a(n optional) subheading, and
a list of page(s) - each field defined by a pair of double
quotation marks. Because double quotation marks are used
in this way, as markers (delimiters), defining the
beginning and end of each field, they cannot be allowed
within a field. Thus if you use double quotation marks in
your data, these will be converted internally by INDEXX to
single quotation marks, i.e. " ` " and " ' ".
-----------
5. You can make the string mode the default mode for headings by
using Option 0. See p. 28.
- 33 -
- Note that INDEXX has closed the spaces in Joad's initials:
"C. E. M." has been re-written as "C.E.M."[6]
- In this example (prior to Option 4), the data have not been
alphabetized, nor have the page entries been sorted. The
data have been accumulated simply in the order in which
they were originally entered. Matches have been found, but
that is all.
3.5.5 Partial matches
In the file fragment given immediately above, we have a heading
reading "James, Henry". Suppose now you were to enter "H. James"
in the normal mode (or, equivalently, "James, H." in the string
mode).
INDEXX would search the file and would find a match on "James".
But the given names ("H." and "Henry", respectively) are
different. Is James, H. the same person as James, Henry? INDEXX
will regard this as a `partial match' and will ask you to decide.
You will be presented with one to five `pages' listing all the
partial matches (to a maximum of fifty). You can select any one
of the displayed choices by moving the on-screen highlighting to
it and pressing <Enter>. If you were to select the match on
"James, Henry", the entry would be recorded using the longer of
the given names (in this case "Henry").
Only ten partial matches are displayed per `page'. If there
are more than ten partial matches, you can switch pages by
pressing <PgUp> for the previous page, or <PgDn> for the next
page; or by pressing the <Up-arrow> key (for the previous page)
when the highlighting is on the topmost item, or the <Down-arrow>
key (for the next page) when the highlighting is on the
bottommost item.
If you reject all partial matches by pressing the <F10> key,
you will be asked whether the unmatched datum is to be entered as
a new record in the file. If you answer "N(o)", you will be
returned to the original screen in Option 3 with your input data
intact. You can then erase it by the use of the <Esc>-key, or
you can modify it. (See subsection "Editing the input line",
p. 42 below.)
To be explicit: According to the fuzzy logic adopted in INDEXX,
Two items will `partially match' if either one is the so-called
-----------
6. This compacting of initials saves computer storage and
provides a single, uniform format for comparing names. But
not all publishers favor this format. Option 5 provides the
opportunity at the time of formatting the index for printing
to (re-)introduce spaces between initials.
- 34 -
proper first part of the other. Thus "J" and "James" partially
match; so do "individuals" and "ind".
Suppose, for the sake of illustration, there are two Boschs in
your index: Herbert and Hieronymus. To add a page citation to
the entry for the former, you might enter "He B" in the normal
mode (or "B, He" in the string mode) and INDEXX would find a
partial match only for "Bosch, Herbert". (That is, "He"
partially matches "Herbert", but does not match at all
"Hieronymus".) If, however, you were to enter "H B" in the
normal mode (or, equivalently, "B, H" in the string mode), INDEXX
would find two matches and you'd have to choose between them.
Let's take another example. Suppose your file were to contain
both "idea" and "idealism" as distinct headings, and you were to
enter "idea". INDEXX would find a partial match on "idealism"
but a perfect match on "idea", and thus would not present
"idealism" as a possible match for your choice. INDEXX would
instead report a perfect match on "idea". Thus if your file
contains both "idea" and "idealism", to retrieve the latter you
could enter any of: "i", "id", "ide", "ideal", "ideali",
"idealis" or "idealism"; but you could not retrieve "idealism" by
entering "idea".
Any time you enter an item which partially matches an earlier
one, but which is longer than that earlier one, you'll be asked
if this is correct, and if you confirm that it is correct, the
earlier one will be updated to the new, longer version. Thus
suppose the file already contains "Bosch, H.", and you were now
to enter "Hieronymus Bos" in the normal mode (or
"Bos, Hieronymus" in the string mode.) You would first be given
the opportunity to select the earlier "Bosch, H." as your
intended entry. If you select that particular match from the
partial matches presented, you will then be asked to confirm that
you want the earlier item revised to this new, longer version.
Should you now reply "Y", INDEXX would revise the entry in the
file. The resulting heading would then read "Bosch, Hieronymus",
i.e. would be the result of having combined parts of the file
data and parts of your newly entered keyboard data.
It is important to note that searches for matches and partial
matches are `case sensitive', i.e. sensitive to the difference
between upper and lowercase. Although you may take shortcuts
with names - e.g. entering "Bo" or "Hi Bo" for
"Hieronymus Bosch") [in the normal mode] - such names must
consistently begin with a capital or lowercase letter. Thus
"E.e. cummings" (entered in the normal mode) will not match
"cummings, e.e." [and "e.e. cummings" will not match
"Cummings, e.e."]. However, any of "cu", "e cummi",
"e. cummings", "e. e c", and "e.e. cummings", will return a
partial match with "cummings, e.e.".
- 35 -
3.5.6 Wildcard searches
Suppose you want to review all the subheadings under some
particular heading, or suppose you've forgotten under which
heading(s) you earlier placed the item "interpretation", you can
use the so-called "wildcard" - the asterisk "*" - to retrieve the
data.
If you wish to review all the subheadings under some particular
heading, retrieve that heading in the standard manner, e.g. by
typing a few of the leading letters and allowing INDEXX to find a
partial match. Then, for the subheading, type the wildcard, "*".
All the subheadings (to a maximum of fifty) under that heading
will be displayed in alphabetical order. For example, to review
all the subheadings under the heading "case studies", you might
begin by typing "case stu" for the heading, and then when asked
for the subheading, you could type "*".
Or suppose you want to search `the other way around', i.e. list
all the headings under which some particular subheading occurs.
You could enter the wildcard in place of the heading, and enter
the particular subheading at the second stage. For example, the
subheading "history of" might occur under several different
headings in an index. To list all the headings under which
"history of" occurs as a subheading, you could enter "*" for the
heading, and "histo" for the subheading.
In short, the wildcard can be used in place of either the
heading or the subheading. Naturally, you cannot use the
asterisk twice in one search, for that would be equivalent to
requesting matches on every record in the file. Instead, if you
wish to review the entire file, use function key <F2>.
3.5.7 Typefaces: italics, boldface, etc.
INDEXX reserves the greater-than and the less-than signs, in
combination with a letter, to signify typeface codes. E.g. to
print "a priori" in italics, you might enter: "i<a priori>i".
Typeface codes must occur in matched pairs; you may use any
letters you like. These codes are simply proxies, i.e. they
`reserve a place' for the actual codes recognized by your word-
processor. They have to be replaced in the final print file by
your word-processor.
I, personally, use "i<...>i" for italics, "b<...>b" for
boldface, and "u<...>u" for underlining.
Typeface codes may be nested inside of one another; but they
must not overlap. Typeface codes cannot occur within, or
contain, `as-if' codes (see next subsection).
For more examples, see the Tutorial, p. 18.
- 36 -
3.5.8 `As-if' codes (forced sorting)
Occasionally you will want to direct the sorting routine (Option
4) to alphabetize a word, or sort a number, `as-if' it were
something else, e.g. to alphabetize "i<2001>i" as if it were "Two
thousand one". To force Option 4 to alphabetize differently,
simply place the desired alternative in curly brackets
immediately after the words (or numbers) to be treated specially,
e.g. "i<2001>i {two thousand one}". INDEXX will then sort this
`as-if' it were "two thousand one" rather than as "2001".
This technique is particularly useful for sorting Roman
numerals (e.g. "i<iv>i {0.04}") and for forcing certain cross-
references (e.g. "i<See also>i ... ") to the tail end of a string
of page citations. (For examples, see the Tutorial, pp. 18-21,
and later in this chapter, p. 40.)
Using `as-if' codes is particularly useful, too, if you are
creating both a Names Index and a Subject Index. If you select a
so-called `Sort 2' in Option 4, INDEXX will alphabetize your data
in two separate lists: one containing all records beginning with
an uppercase letter, and a second one containing those records
beginning with a lowercase letter (roughly a Names Index and a
Subject index). But occasionally a name might begin with a
lowercase letter (e.g. "cummings, e.e.") and a subject with an
uppercase letter (e.g. "Thomism" or "SETI"). In such instances,
you can direct INDEXX to sort these records `as if' they were
something else. E.g.
cummings, e.e. {Cummings e.e.}
Thomism {thomism}
SETI {seti}
`2001' {two thousand one}
Note: Commas are not permitted within `as-if' codes.
3.5.9 Foreign alphabets
On IBM computers and close-compatibles, foreign language
letters may be entered from the keyboard by holding down the
<Alt> key and typing the letter's three-digit ASCII code on the
numeric keypad. For the foreign letter ASCII codes, consult the
User's Manual for your computer. Option 4 will later ask you
whether you want character 225 alphabetized as a Greek Beta or as
a German Eszett.
- 37 -
3.5.10 Cross-referencing
Cross-references may occur either within the heading or
subheading fields, or among (typically at the tail-end of) the
page citations. Examples:
galleries. i<See>i museums
magazines (i<see also>i journals), 25, 67 n.2, 207
Gaposchkin, Cecilia, 45, 89. i<See also>i Payne, Cecilia
In the first case, there are no page citations. You would
enter (in the string mode) the line shown as a heading (or
subheading as the case may be) and then enter the dummy, special,
page code "000". When Option 5 encounters the three-digit code
"000" occurring all by itself, it suppresses printing of the page
citations.
The second example is the most straightforward. You simply
type the heading (or subheading) exactly as illustrated (in the
string mode) and enter the page citations in the page field.
In the third example, the cross-reference occurs among the page
citations. This kind of case will be examined separately below
(on p. 40).
3.5.11 Page citations
Remember (from the Tutorial, p. 19) that the three-digit sequence
"000" is reserved as a special code to be used in place of bona
fide page citations. You use it to signal the formatting routine
(Option 5) that the heading or subheading consists entirely of a
cross-reference of the kind "xxx. i<See>i zzz" and that no page
numbers whatever are to be attached.
Page citations often contain more than just page numbers. For
example, along with ordinary page numbers ("12, 26"), one may
find "Chapter 4", "101 Table 2", "Appendix II", "Section 9.3.8",
"i<See also>i natural kinds", etc.
The question arises how to sort subfields (see pp. 12 and 20)
containing such `mixed' data: these subfields cannot simply be
sorted by numerical value (many citations are not numerical, e.g.
"Preface") nor can they simply be sorted alphabetically (for then
we would have this order: 1059, 14, 162, 21, 298, 47, 500, 63).
The technique used in INDEXX is to sort first by the value of
the leading number if the citation (i.e. the subfield) begins
with a number (e.g. "252" or "101 Table II"), otherwise to sort
alphabetically (treating upper- and lowercase as equivalent) in
accord with the so-called ASCII equivalent of each character of
- 38 -
the subfield (e.g. "i<See also>i Vulcanism").[7] The ASCII
equivalents are built into the computer. The partial listing is:
[space] 32
! 33
" 34 disallowed within fields in .IND
files
# 35 used as error flag on page fields
in .IND files
$ 36 used as a `surrogate comma'
within page fields in INDEXX
% & ' ( ) 37-41
* 42 reserved for wildcard searches in
INDEXX
+ , - . / 43-47
0-9 48-57
: ; 58-59
< 60 reserved as a typeface code in
INDEXX
= 61
> 62 reserved as a typeface code in
INDEXX
? @ 63-64
A-Z 65-90
[ \ ] ^ _ ` 91-96
a-z 97-122 treated as 65-90 when occurring
among page citations in an INDEXX
file
{ 123 reserved as an `as-if' code in
INDEXX
| 124
} 125 reserved as an `as-if' code in
INDEXX
~ 126
Thus, for example, the page field
Preface, 25, 25 n.3, Chapter 6, Appendix II
would be sorted this way:
25, 25 n.3, Appendix II, Chapter 6, Preface
-----------
7. There is one exception. Suppose both a range of pages and a
footnote citation in the same field begin with the same page
number, e.g. suppose the page citations in a given record were
to contain both "233-6" and "233 n.4". An ASCII sort would
place the latter before the former since the space in the
latter has a lower ASCII value (32) than the dash (45) in the
former. But INDEXX has been programmed to reverse these two
values in sorting page citations, and thus would place the
span of pages before the footnote reference.
- 39 -
You may well prefer, however, that these subfields be sorted, not
in this quasi-alphabetical order, but in some other order, e.g.
reflecting the sequence in which they occur in the book, i.e. you
might want "Preface" occurring first, and "Appendix II" appearing
last.
The technique for `forced' sorting is quite simple. You just
append an `as-if' code (see above, p. 37) to the subfield, and
that subfield will be sorted `as-if' it were the code specified.
To force "Preface" to the front of the list, and "Appendix II" to
the end, you could enter this data (or edit it on-screen) so that
it reads:
Preface {0.05}, 25, 25 n.3, Chapter 6 {234},
Appendix II {5000}
3.5.11.1 Cross-references among page citations
There is one caution, however. Beware of using commas within a
given subfield. Remember: commas are used to separate the
various subfields within the page field of a record. Take care,
then, not to enter a cross-reference of this type among the page
citations:
i<See also>i Logic, history of; Mathematics,
sources of {5000}
(The `as-if' code "{5000}" has been used here to force this
cross-reference to the tail-end of the page citations.) The
sorting routine would interpret this string as three distinct
subfields - "i<See also>i Logic", "history of; Mathematics", and
"sources of {5000}" - and would sort it as:
history of; Mathematics, i<See also>i Logic,
sources of {5000}
Instead, you should use a `surrogate' comma (i.e. "$") which the
formatting routine (Option 5) will recognize as a comma, but the
sorting routine (Option 4) will not. Using surrogate commas
within the subfield we wish to `hold together', the complete page
field on some given record might then look like this:
25, i<See also>i Logic$ history of; Mathematics$
sources of {5000}, 60, xiv {0.14}
The sorting routine (Option 4) would then re-order these
subfields this way:
xiv {0.14}, 25, 60, i<See also>i Logic$ history of;
Mathematics$ sources of {5000}
- 40 -
And the formatting routine (Option 5), which suppresses `as-if'
codes and replaces surrogate commas with real ones, would then
print the field as:
xiv, 25, 60. i<See also>i Logic, history of;
Mathematics, sources of
If you look closely, you will see that Option 5 actually does one
other neat trick as well. Option 5 `looks at' the punctuation
mark immediately before "See also" among the page citations and
changes it to a period (in this instance changing the comma after
"60" to a period). (This special feature works only if "See
also" occurs among the page citations; it does not work, nor
should we want it to, if "see also" occurs in a heading or a
subheading, i.e. before the list of page citations. See examples
on p. 38.)
3.5.12 Automode
If you are working your way systematically, page by page, through
a book, you may find yourself entering several references on a
specific page. In such a case you might like the page numbers to
be entered automatically, to be changed only when you, in fact,
move on to another page. Such a means is available with the
Automode.
To switch the Automode on or off, use <F3>. When the Automode
is on, you can - but need not - supply a page number. If you do,
the Automode will automatically update to the page number you
enter; if you do not, the Automode will provide the page number,
i.e. it will default to the last page you entered. To change the
default page you can simply enter data alongside the "[Page(s)]:"
prompt; or you can increment the Automode by one page by pressing
<F5>; or decrement it by one page by pressing <F7>. If you hold
down <F5> or <F7>, the Automode counter will advance at the speed
which the keys repeat: after an initial pause of one-half second,
at a speed of 10 characters per second.[8]
The use of the three keys - <F3>, <F5> and <F7> - is shown on
the monitor during the operation of Option 3. The use of <F3> is
always shown; the use of <F5> and <F7> only when the Automode is
switched on. The status of the Automode (whether on or off) is
shown constantly on line seven, but when the Automode is switched
on, the page prompt carries a second reminder in that it will
appear in square brackets (e.g. will appear as "[Page(s)]:").
The square brackets indicate that the page entries are optional.
-----------
8. This feature is hardware-dependent, and is not available on
some clones.
- 41 -
The Automode will switch off if you enter alphabetic data, or a
negative or a decimal number for a page citation, e.g. would
switch off if you entered "i<xiv>i {0.14}". If <F3> does not
turn on the Automode, check your last entry - which is displayed
on line four - and it will show that you entered alphabetic data
or a negative or a decimal number for the page citation.
3.5.13 Editing
Two different editing facilities are available in INDEXX: (1) you
can edit the data as you enter it from the keyboard, i.e. before
it is moved into the file (database); and (2) you can retrieve
any record from the file and edit it on-screen.
Any field - heading, subheading, pages - entered on-screen in
Option 3 may be up to 255 characters in length for a total record
length of 765 characters. (This figure of 765 applies only to
the length of fields input from the keyboard. Individual fields
in records may exceed these figures by (1) your modifying them
with a word-processor, (2) by your successively adding more data
to the list of page citations (the 3rd field of a record), or (3)
by your retrieving a record and editing its fields on-screen.
The editor for this latter function can handle up to 1000
characters per field, i.e. 3000 characters per record.)
The editing facilities in INDEXX make use of the following
editing keys:
<Esc> erase current field
<Backspace> erase character to left of cursor
<Del> erase character at cursor
<Ins> toggle (switch between) the Insert and
the Overwrite modes
<Rt-arrow> move cursor right one character
<Lt-arrow> move cursor left one character
<Up-arrow> move cursor to same column in line above
<Dn-arrow> move cursor to same column in next line
<Ctrl><Rt-arrow> move right one word
<Ctrl><Lt-arrow> move left one word
<Home> jump to left edge of current line
<End> jump to right edge of current line
<PgUp> jump to beginning of field
<PgDn> jump to end of field
This list, defining the editing keys, is available within
Option 3 in an on-screen `help window' simply by your pressing
function key <F8>. To erase the help window, press function key
<F10>.
In the insert mode (designated by a full-height non-blinking
cursor), the data typed on the keyboard are inserted into your
text and previously typed data are pushed to the right; in the
- 42 -
overwrite mode (designated by a half-height blinking cursor),
your new data overlay the old.
Do not press <Enter> (the carriage-return) as you near the
right-edge of the monitor as you would with a typewriter. The
keyboard routine in INDEXX will automatically `wrap' your text to
the next line, breaking at a space between words. When a line
wraps, a half-diamond will automatically appear at the right edge
of the line so you can gauge its length. These half-diamonds are
removed when the record is added to the .IND file.
3.5.13.1 Editing the input line
In Option 3, as you enter data from the keyboard, you can edit it
using any of the editing keys just described.
However, once you've pressed the <Enter> key to move along to
the next field, e.g. to skip down from entering a heading to
entering a subheading, there's no `climbing back up' to the
previous field. If you spot a mistake in the data you've entered
on the monitor in a previous field, there are two remedies: (1)
you can continue, i.e. enter the mistaken data into the file, and
then, later, retrieve it and edit it (see the immediate following
subsection); or, (2) you can press <F6>, thus erasing all input
data from the monitor, and begin again.
3.5.13.2 Retrieving and editing a file record
INDEXX can retrieve any record in your file for on-screen
editing.
To retrieve a record from the file, proceed as if you were
going to add another page citation to it. That is, enter the
heading (or the leading letters thereof or a wildcard) in the
standard manner, and then the subheading. When it comes time to
enter the page(s), instead press <F4>. This will call up the on-
screen Editing Menu. The retrieved record will be displayed in a
window at the upper left of the monitor; and as you edit the
record, the altered fields will be displayed in the window at the
upper right. Immediately below these two windows there will be a
list of editing choices. Certain of these choices will always
appear:
Heading edit
Remove record / block
<F10> Cancel and return to Update screen
Three others occur only as appropriate:
Subheading edit
Pages edit
Accept changes as shown above, at right
- 43 -
Three of these six choices - Heading edit, Subheading edit, and
Pages edit - are self-explanatory. If you choose any of these,
the monitor will clear, displaying the field you have just
selected, and you may proceed to edit that field (to a limit of
1000 characters). Pressing <Enter> will return you to the
Editing Menu, where you will again be presented with the just-
listed set of choices. You can then, if you like, proceed to
edit another field.
A bit of terminology must be explained. The term "block"
refers to a set of records all sharing the same heading. For
example, the following three records comprise a `block':
"logic","symbols","23, 67"
"logic","","10, 276"
"logic","teaching of","45, 55-57"
(If the file is not sorted, the individual records comprising a
block may be scattered throughout the file.)
Suppose you were to retrieve and edit one record from among a
block, let's say, the first of those just shown. In particular
you change the subheading "symbols" to "notation". The changed
record now reads,
"logic","notation","23, 67"
The particular change you have made is unproblematic, and if you
accept this change - by choosing "A" (for "Accept changes" on the
Editing Menu) - INDEXX would alter this one record in the file
accordingly. But suppose instead of changing the subheading
"symbols" to "notation", you were to have altered the heading so
that you have
"logic (formal)","symbols","23, 67"
If you alter the heading and accept the change, INDEXX will ask
you whether you want to make this change in just the one record
you have edited or whether this is to be `global' change to be
made to all headings in the block. You will have to choose "S"
(for "single record") or "B" (for "block").
There is one tricky case. Suppose all the records in the block
sharing the heading "music" have subheadings, e.g.
"music","history","68, 157"
"music","performance","12, 202"
and suppose you've called up on the monitor, for on-screen
editing, the record whose heading is "music". Clearly there is
no such record in the file. But INDEXX pretends that there is.
You can recognize that this is a `pretend' record because both
the subheading field and the page field will be missing in the
display in the upper left window. Thus if you make a change
- 44 -
(e.g. changing "music" to "musical affairs"), when it comes time
to accept the change, the only choice you will be offered is for
an entire block (since there is no actual record corresponding to
this `pretend' record). This sounds more complicated than it is.
You don't actually have to understand this technical explanation.
INDEXX is programmed to recognize the difference between bona
fide records and `pretend' ones, and will guide you through the
appropriate choices by altering the questions it poses to you.
Similarly if you choose to remove [delete] a record, INDEXX
will ask you whether you want to remove just the single record
appearing on the monitor or whether you want to remove all
records in the block. Again you will have to choose "S" (single
record) or "B" (block). (If the record displayed is a `pretend'
record, the only removal permitted is, obviously, for the entire
block.)
It is inevitable that computer programs reflect something of
the personality of their designers. INDEXX is no exception. I
happen to be a terribly cautious person. It is just not my
nature to throw away chunks of data. (Sometimes we change our
minds and want to salvage what we earlier saw fit to discard.)
And so, whenever you instruct INDEXX to remove a record or a
block from your file, the record(s) are not allowed to evaporate.
They are added to the `trash bin' file on your data disk. This
trash bin file is created automatically. It will bear the same
file name as your data file (i.e. as your .IND file) but will
have the extension ".OUT". If, for example, you were to remove
records from the file TEST-ONE.IND, those records would be moved
into the file TEST-ONE.OUT. If you ever wanted to rescue some
among those discarded records, you could do so with your word-
processor.
Once you have accepted some changes in the editing routine,
INDEXX will pause and flash the message "Please Wait". "What is
it doing?", you might ask. INDEXX is searching your file,
looking for redundancy. For every time you edit a heading or a
subheading, there is the possibility of your creating a record
which matches another one in the file. If, for example, you were
to alter the record
"Canada","politics","69"
to now read
"Canada","government","69"
there is the possibility that this latter record would match
another one in the file. If INDEXX finds such a match, it will
combine the two records.
Whenever you edit a file on-screen, however slightly, its
status will revert to "Unsorted".
- 45 -
3.5.13.3 Searching for records with error flags [###]
If you inadvertently enter duplicate page citations on a single
record - e.g. "12, 25, 34, 25, 62" - Option 4, when it sorts the
page citations, will recognize the error, will tag the offending
page field with a leading flag [###], and will not sort the page
subfields on that record. You can retrieve and correct these
flagged records by using the search capability of the editing
facility in Option 3.
In Option 3, when the cursor is positioned to accept input for
either the heading or the subheading, if you type <F4>, you will
then be presented with two further options: "S" (search for error
flags), and "H" (help with editing). If you choose "S", the
editing facility will search your file for successive records
bearing error flags in their page fields. You will then be able
to repair these records on-screen, one by one, using all the
standard facilities of the editing facility. (You cannot search
for error flags if the cursor on the update screen of Option 3 is
positioned in the page field.)
3.5.14 Review of function key usage
<F1> Switches between normal and string entry modes
(available for headings and subheadings only; i.e.
not available for the page field)
<F2> Presents the data file for viewing.
<F3> Turns on/off Automode.
<F4> Switches from the Update to the on-screen Editing
facility
<F5> If Automode is on, increments page number.
<F6> Erases all fields displayed on the monitor. (The
<Esc> key, in contrast, erases only the current
field, i.e. the field in which the cursor is
positioned.)
<F7> If Automode is on, decrements page number.
<F8> Opens a window displaying the functions of the
various editing keys.
<F9> Calls Option 0 which allows you to change various
default settings.
<F10> Reverts to previous procedure, e.g. cancels the
display of partial matches and reverts to main
display for Option 3; or terminates viewing the file
(initiated by <F2>); or closes the Help Window opened
by <F8>; or writes the file to disk and reverts to
the Main Menu; etc.
The operation of all these function keys is shown on the monitor
in Option 3.
- 46 -
3.5.15 Error messages in Option 3
As you enter or edit data in Option 3, INDEXX checks to see if
the entries violate stipulated formats or operating constraints,
e.g. whether you have used two wildcards, whether you have used a
dangling comma, whether you have used overlapping typeface codes,
whether there are more than 50 partial matches, etc. These are
all minor errors and you will be given the opportunity to re-
enter your data in the correct format. But in addition, there
are two kinds of problems which cannot be overcome by your
modifying the offending item.
Because all editing, sorting, and formatting is performed on
files held entirely in memory, these files are limited by the
available memory. Option 3 is designed to check to see that
neither memory nor various critical parameters in the program are
exceeded.
3.5.15.1 Message 1: "Only 2,000 entries permitted"
The maximum number of records permitted in an INDEXX file is
2,000. You can keep an eye on how many records there are in your
file by reading the figure under the heading "Records" on the
monitor. If you try to add records beyond the maximum value of
2,000, an error message "Only 2,000 entries permitted" will
appear. If you get this message, you can continue to add page
citations to records already in the file, but you cannot add any
new records. To construct a file which exceeds this limit, you
will have to use Option 8 in the auxiliary program, INDXPLUS (see
Chapter 4).
3.5.15.2 Message 2: "Out of memory"
Data files are held in a complicated fashion in computer memory
in both a large fixed block (exactly 180,000 bytes [characters])
and in an `overflow' block. The overflow is of necessity
relatively small, some 12,250 or so bytes. The amount of `free'
(overflow) memory is posted on the screen in Option 3 under the
label "Bytes free". Don't be alarmed if the amount of free
memory jumps around (both up and down) as you enter data. As
long as there are 1000 or more bytes available everything is
fine. If, however, your data records are on average unusually
lengthy and exhaust the overflow area, an error message "Out of
memory" will inform you that there is no memory remaining for
further additions to your file. Again, to construct a file
exceeding this limit, you will have to use Option 8 in INDXPLUS
(see Chapter 4).
- 47 -
3.6 Option 4 - Alphabetize index
3.6.1 Sort-1 / Sort-2
SORT-1 produces 1 list: it alphabetizes the data without regard
to upper and lowercase initial letters. SORT-2 produces 2 lists:
it will place all records beginning with capital letters at the
head of the index, followed by all records beginning with
lowercase letters. SORT-2 corresponds (roughly) to a so-called
`Names/Subject' index.
Suppose you were to have the following data: "Aristotle;
zoology; aggression; Zamfir, G." The results of each sort would
look like this:
SORT-1 SORT-2
aggression Aristotle
Aristotle Zamfir, G.
Zamfir, G.
zoology aggression
zoology
If you have subheadings in your index, the subheadings will
themselves always be sorted in the manner of SORT-1, i.e.
intermixed without regard to upper or lowercase (see the `musical
recording' example on page 2 above).
3.6.2 Letter-by-letter / Word-by-word sorts
In a letter-by-letter sort, blankspaces between words are
ignored. In a word-by-word sort, a blankspace is alphabetized as
if it were a letter `earlier than' "a". Examples:
Letter-by-letter Word-by-word
game game
gamekeeper game plan
game plan game theory
gamete gamekeeper
game theory gamete
3.6.3 Float / Sink
Some editors want names beginning with "Mac" and "Mc" (e.g.
"McBride") to be `floated' to the top of the entries beginning
with "M" (or "m"). You can instruct INDEXX to `float' or to
`sink' such names. The differences are illustrated on-screen in
Option 4.
- 48 -
3.6.4 Character 225
You can set ASCII character 225 to be alphabetized either as the
Greek beta or the German eszett.
3.6.5 File header
The foregoing four choices - Sort-1/Sort-2, Letter-by-
letter/Word-by-word, Float/Sink, Beta/Eszett - are automatically
recorded as the ninth record of the header in your file.
3.6.6 Ignoring `little' words
Once you have chosen/confirmed the sorting parameters (see
preceding paragraph) you will next be presented with a display of
the `little' words to be ignored in sorting. The factory
defaults are: "&, a, an, and, in, of, on, the". You can simply
elect to use these defaults, or you can modify the list on-
screen. To modify the list, press "N", and then follow the on-
screen directions. Note the editing options displayed in the
info-line (line 25). You can erase the entire list with the <F6>
function key; re-set to the factory defaults with <F4>; etc.
Using the factory defaults, INDEXX would alphabetize, e.g.,
"i<The Mill on the Floss>i" as if it were "Mill Floss", i.e.
would ignore "The", "on" and "the". Note that although only "the"
(lowercase) occurs in the list of words to be ignored, its
presence there will serve to instruct INDEXX to ignore all of:
"The", "the", and "THE". Of course you could have accomplished
the same thing with explicit `as-if' codes. You could have
entered in your data file:
i<The Mill on the Floss>i {Mill Floss}
The difference between `ignored' words and `as-if' codes is that
`ignored' words apply to every record in the file while `as-if'
codes apply to the one record to which they are appended.
`As-if' codes always take precedence over `ignored' words. For
example, suppose that for most cases you want "a" to be ignored,
but not in the case of "a priori reasoning". You could instruct
INDEXX not to ignore "a" in this latter case by entering in your
data file: "a priori reasoning {a priori reasoning}". Using this
`as-if' code would force INDEXX to alphabetize this record among
the entries under "a" and not among the entries under "p".
When you are through editing the list, you will be asked if you
want to save the list in the file "IGNORE.DEF". This is a
special, important file if you want to create more than one .IND
file for a particular job. Suppose, for example, that you will
be creating different files for the many chapters of a book with
- 49 -
the intention to combine them later using Option 8 in INDXPLUS.
If so, you'll want to be sure that these files are sorted using
exactly the same set of ignored words; if different sets are
specified, Option 8 will not be able to combine the files. To
make it easy to get exactly the same sets of ignored words,
Option 1 - the Option used to create a new file - will look in
the designated directory for the file IGNORE.DEF and will use it,
if found, instead of the factory defaults in creating the file
header for your new file. Thus you can easily assure that the
same list of ignored words is carried from file to file as you
create different files for a single job.
Whether you choose to save the list of words to be ignored in
the file IGNORE.DEF or not, the list itself will be entered as
the eleventh record in the file header of the .IND file so that
you need specify the list only once per file, i.e. is always
available whenever you load your working file into INDEXX using
Option 2.
3.6.7 Combining of records
After you have confirmed/edited the list of words to be ignored,
INDEXX will proceed to alphabetize your file.
If you have edited your file with a word-processor, it is
possible to have inadvertently created a duplicate record. Once
INDEXX has sorted your file, it will make a pass through all the
records searching for redundancy. If any records match, they
will be combined and their page citations collated. You will be
informed on-screen if any duplicate records have been found in
the file.
3.6.8 Sorting page citations; Problem cases
After Option 4 alphabetizes your data, it will make a final pass,
checking the page citations on each reference. If these are out
of order, they will be re-ordered in the manner previously
described on pp. 38-40.
If in sorting the page citations on an entry, two identical
citations are found, that entry will be flagged with three sharps
[###], and you will be informed on the monitor of the number of
such problem cases.[9]
-----------
9. The page citations will not be sorted in any record in which
there are more than 200 page citations. Such records will
also be flagged with three sharps. It is hard to imagine,
however, that this problem would ever occur in an ordinary
book index.
- 50 -
To search for, and correct, these flagged records, switch to
Option 3, and press the <F4> function key. A menu will appear,
one of whose choices is S(earch for error flags). INDEXX will
search your entire file and will present each flagged record, one
after the other, to be edited on-screen in the standard manner.
The <F4>,S sequence can be entered in Option 3 whenever the
cursor is positioned to accept keyboard data for a heading or a
subheading; it is disabled when the cursor is positioned in the
pages field. Entering the <F4>,S sequence erases any data
pending on the screen.
3.7 Option 5 - Formatting index for printing
Option 5 takes a SORTed file (from Option 4) as input and formats
it for printing. It removes the three sets of quotation marks in
each record, and adjusts the line lengths in the standard
columnar form for indexes.[10] It also collects and indents
subheadings under their common major headings.
3.7.1 Formatting options
Option 5 begins by posting a series of formatting parameters,
either the factory defaults or the ones previously used in the
current session. You will be asked whether you want to use the
posted settings. If you answer "Y", Option 5 will proceed
directly to format your data file.
If you answer "N", the cursor will move from one setting to the
next for your response. If you wish to leave a setting
unchanged, simply press <Enter>.
If your file has been sorted into two lists (i.e. is a SORT-2
file), you will first be asked whether you wish four lines to
separate the two lists, or whether you want the second list to
begin at the top of a new page.
Next you will be asked what line width you want, either
`infinite' width (for which you'd enter "0") or ranging from 30
-----------
10. If an index item exceeds the stipulated line width, that item
will be split at a blankspace and continued on the next line.
In the rare event that no blank occurs before the end of the
physical line, the line will then be split at a hyphen. If
neither a blank nor a hyphen occur, the line will be split, a
hyphen will be inserted, a special error flag [###] will be
appended to the end of the record, and you will be so
informed on the monitor after the file has been written to
disk. Only under the most extraordinary circumstances, will
the "###"-flag ever occur, however.
- 51 -
to 72 characters per line. The `infinite' width (i.e. no line
wrapping) is particularly useful if you want to read the output
file (the .PRT file) into your word-processor for further
formatting. If, however, you want Option 5 to produce final
output, you would choose a line width in the range 30 to 72
characters. The narrower widths (30-40) allow you to print your
index in columnar fashion so that you can then cut and paste the
results into side-by-side columns.[11]
If you do not choose `infinite' width, you will next be asked
to specify the line turnover. Rather than my explaining `line
turnover' in this Manual, I have programmed Option 5 to
illustrate it on-screen. When you are asked for the line
turnover, a window will open, illustrating what it is you are
being asked for.
Next you will be asked for the vertical spacing: single,
double, or triple. I assume that you know what this means and
that no explanation or illustration is required.
When it comes time to specify the format for initials, viz.
whether compact or separate, again an illustrative example will
be displayed on the screen.
So, too, will an example be displayed for the two types of
`divider'.
You will then be asked to choose between `aligned' and `run-in'
style. Again, the two choices will be illustrated on screen.
If you have just chosen `aligned', you will have to specify
further the `indent' for the subheadings. Once again, an
illustrative example will appear on the screen. Note that the
indent must be less than or equal to the line turnover. (You
will not be allowed to choose a value for the indent greater than
the line turnover.)
If the value of the indent is less than the value of the line
turnover, you will be asked if you want the subheadings to be
further signaled by a prefatory dash. (An example will be
displayed on screen.) Some indexers and publishers particularly
like this format. If, however, you have set the indent equal to
the line turnover, this prefatory dash is not optional, but will
-----------
11. In creating wrapped lines of width 30-72 characters, Option 5
is smart enough to `count' only printing characters and
blanks, i.e. is smart enough not to count typeface codes,
e.g. the sequence "i<2001>i" would be counted as comprising
four printable characters, not eight. If you were to have
specified a line width of, let's say, 32 characters, Option
5, would pad such a sequence with up to 28 additional
(printing) characters.
- 52 -
be chosen automatically (otherwise one could hardly tell the
difference between the heading turnover and the start of a
subheading).
Once all the formatting parameters have been specified, you
will be asked to confirm the list (by pressing <Enter>) or to
reject it (by pressing <F10>). If the formatting parameters are
accepted, Option 5 will proceed to format your data.
3.7.2 Formatted print file
The output from this Option is written to disk with extension
".PRT". ".PRT" files cannot be used as input to INDEXX; they are
intended to be printed with DOS COPY or PRINT; or edited and
printed with your word-processor. However, since constructing a
".PRT" file leaves your ".IND" file intact on disk, you can feel
free to construct a ".PRT" file anytime while an ".IND" is still
in progress if you want to see what the formatted output looks
like to date, or to have handy a printed list as a reminder of
your entries to date.
When the .PRT file has been written to disk, you'll be asked
whether you'd like to View the file (V), or whether you'd like a
printout now (P). You may choose either, or both.
3.8 Option 6 - Make a backup copy of index
Making a backup copy of your data file, although strongly
advised, is at your discretion. You will be reminded, if you've
updated your file in Option 3 and have not backed it up, before
you will be allowed access to Options 1, 2 or 7. If your .IND
file resides in a subdirectory on your hard disk, I would
strongly recommend backing it up on a floppy diskette. If your
hard disk `crashes', it does you no good having your backup files
on the same unreadable disk as the originals. In general, backup
files should always be on physically different disks than the
originals.
Backup copies created by Option 6 will bear the extension
".2ND".
3.9 Option 7 - Exit to DOS
If you have edited your ".IND" file but not backed it up, you
will be asked if you really want to exit without making a backup.
- 53 -
3.10 Review of INDEXX files
".IND" are your normal working files. The status of
these files may be: EMPTY, UNSORTED, or SORTED.
".2ND" are the backups created by Option 6 of your
".IND" files above.
".OLD" are the next-to-last versions of your ".IND"
files and occur in the same subdirectory as the
".IND" files. "OLD" files are normally never
used: they are created purely as precautionary
measures. Try not to rely on ".OLD" files.
Take a moment, using Option 6, to make an
updated, safer, ".2ND" file on another disk.
".OUT" are files containing all records discarded in
on-screen editing sessions. They are the
`trash-bin' files, or - if you prefer - the
`cutting room floor'.
".PRT" are the formatted print files created by Option
5. They may not be used as input to INDEXX and
are not stored in the computer. But they may be
freely created while your index is still in
progress if you'd like to see what your index
looks like so far.
"IGNORE.DEF" is the list of words created in Option 4 which
are to be ignored in sorting. If Option 1 finds
this file in the subdirectory designated for a
new file, it will use the words in this file
rather than the factory default settings for
words to be ignored.
3.11 Editing INDEXX files with a word-processor
WARNING: NEVER EDIT AN INDEXX .IND FILE IN A WORD-PROCESSOR
WITHOUT FIRST HAVING MADE A BACKUP COPY. EDITING AN .IND FILE
CARELESSLY MAY MAKE IT UNREADABLE SUBSEQUENTLY BY INDEXX. YOU
WILL WANT TO HAVE YOUR ORIGINAL, READABLE, FILE AVAILABLE IF YOU
SHOULD HAPPEN TO CORRUPT A COPY IRREMEDIABLY WITH YOUR WORD-
PROCESSOR.
All data files produced by INDEXX are in standard ASCII (text)
format and may be modified - and corrected - with your word-
processor. Just remember, however, you should not disturb the
first twelve records in a ".IND", ".2ND" or ".OLD" file. Take
especial care, too, that each data record has three pairs of
matched quotation marks, and never introduce a carriage-return
- 54 -
(or line-feed) in a record.[12] If you do, however, disturb the
quotation marks, carriage returns, etc., Option 2 will detect the
error when you try to read that file back into INDEXX and you
will be told exactly what needs to be repaired to get the file
back into proper form.
Be sure that your word-processor does not introduce formatting
commands into your .IND file. Set your word-processor to produce
a pure ASCII file. (In some word-processor manuals, this mode is
called "text", in others "document"; unfortunately, there is no
standard nomenclature.)
-----------
12. Beware of word-wrapping at the end of a line when using a
word-processor to edit these files. Often word-wrapping is
accompanied by the insertion of invisible carriage-returns.
On certain word-processors, you can circumvent this possible
source of trouble by setting the so-called `logical' line
width to greatly exceed the `physical' (or monitor) line
width.
- 55 -
Chapter 4
Supplementary program - INDXPLUS
Options 8 - 11 are available in the supplementary program,
INDXPLUS.EXE, also included on the distribution disk. (For the
operating limits of INDXPLUS, see page 4.) To use these options,
at the DOS prompt, enter: INDXPLUS. When INDXPLUS is loaded, you
will be presented with a Main Menu continuing the options in
INDEXX.
The only valid command line options for INDXPLUS are: WHITE or
BLACK or COLOR (or RGB)
Unlike INDEXX, INDXPLUS produces neither .OLD, nor .2ND, files.
If you want backup copies of the files produced in INDXPLUS, you
will have to make them using the COPY (or XCOPY) command in DOS.
INDXPLUS, like INDEXX, will check each record as it is input:
for proper format, quotation marks, commas, carriage-returns,
etc. If there are errors in the input files, the offending
records will be displayed, so that you can correct them with your
word-processor.
4.1 Option 8 - Merging files
INDXPLUS offers the capability of producing a single .IND file
from several segments. Thus, for example, you could devote a
single file (e.g CHAP01.IND, CHAP02.IND, etc.) to each chapter of
a book and then combine them (e.g. CHAP1-14.IND).
You can combine any two files at a time. If you wish to
combine more than two, you will first have to combine two; then
combine the resulting output file with the third; then the result
of this latter merger with the fourth; and so one. Of course, as
you build successively larger and larger files by this means, a
whole series of `stepping-stone' files will be left in the wake.
If your files are on a floppy disk, you may, thus, find yourself
running short of disk space, and as you proceed, may want to
erase some of these spent intermediate files. Be careful,
however, not to erase any of your original files. If something
goes awry, you want to be able to re-start Option 8 with your
original .IND files.
- 56 -
You will be asked to specify the paths and the filenames of the
two input files, and a path and filename for the new (merged)
file that is to be created. This merged file should be given a
name DIFFERENT from either of the input files. All three files
must bear the extension ".IND".
The two files to be merged must both be sorted by Option 4 in
INDEXX[13], and must both have been sorted using the identical
set of sorting parameters and the identical set of `ignored'
words. INDXPLUS checks the sorting parameters and the ignored
words (records 9 and 11 respectively) in the file headers. If
there is not precise agreement between the two files, Option 8
will abort.
If the two files match properly, INDXPLUS will merge the two
files, create a new header, and preserve the file parameters,
etc. If INDXPLUS finds matching entries in the two files, e.g.
"James, H.","","23, 88" in one and "James, H.","","55, 200" in
the other, it will combine the two records, and merge and re-sort
the page citations.[14] E.g. the single record which would be
written to the output file would be:
"James, H.","","23, 55, 88, 200"
A running count will be displayed on the monitor of the records
as they are being read and written. The total number of combined
records will be shown when the merging is completed. As in
Option 4, if there are any redundant page citations in a given
record, that record will be flagged with three sharps [###] and
you will be informed that there were problem cases.
If the resulting output file contains no more than 2,000 data
records, and if it contains fewer than (approximately) 150,000
bytes, it can be input to INDEXX for further updating in
Option 3. If it exceeds either of these limits, it cannot be
input to INDEXX.
If the resulting (merged) file is too large to be input to
INDEXX, it can still be formatted for printing by Option 9. (It
is not necessary to sort this file in Option 4 first, since the
output of Option 8 is always itself a sorted .IND file.)
-----------
13. See Appendix B if you are merging .IND files produced by a
version of INDEXX prior to 3.00.
14. The re-sorting of page citations occurs only in those records
which are combined; the page citations in the other records
in the file are assumed to be sorted correctly. While INDEXX
can sort only to a maximum of 200 citations per record,
INDXPLUS can sort to a maximum of 1000.
- 57 -
4.2 Option 9 - Formatting (oversized) .IND files
Option 9 works exactly as does Option 5, but for one difference:
Option 5 takes as its input a sorted file held entirely in the
internal memory of the computer and is thus limited to available
memory space, which cannot - because of inherent limits in the
software - exceed approximately 150,000 bytes; Option 9, in
contrast, takes as its input a sorted disk file whose total size
is limited only by available disk space.
When you choose Option 9, you will be asked for a path and a
filename for the sorted file you wish formatted for printing.
The file must have the extension .IND. You will then be asked
for a path and filename for the .PRT file to be produced. Once
you given this information, Option 9 then proceeds exactly as
does Option 5.
4.3 Option 10 - Splitting oversized .IND files
If you create a file, for example using the merge facility of
Option 8, which is too large to input to INDEXX, you can split
that file into smaller, more manageable files using Option 10.
You will be asked for the path and name ("ABCDEFGH.IND") of the
input file. INDXPLUS will then create names for the output files
in this manner: "ABCDX001.IND", "ABCDX002.IND", etc. The sorting
parameters and `ignored' words of the input file will be
preserved in each of the smaller pieces. The smaller files will
each be limited to 1800 records and will take up no more than
8,000 bytes of `overflow' memory (see above, p. 47). The header
of each created file will cite that file's genealogy.
4.4 Option 11 - Converting old-style INDEXX files to current
format
Every version of INDEXX has been able to read .IND files produced
by earlier versions. However, as more features have steadily been
added to INDEXX, the format of files has changed. If you have
.IND files created by any version of INDEXX prior to 8.xx, you
will have to convert them to the format used by this current
version. To convert old .IND files, simply use Option 11. It
will read your old files and create new ones suitable for input
to this latest version of INDEXX.
- 58 -
Chapter 5
Questions and answers
1. INDEXX does not load. DOS gives an error message instead:
"Insufficient memory". What can I do?
ANSWER: To run this professional version of INDEXX, you
must have a computer with 410 kilobytes (419,840 bytes)
of available RAM. The operative word here is
"available". That is, you will need to have this much
memory free after your computer has loaded the operating
system (DOS) and whatever Terminate and Stay Resident
(TSR) programs it requires, e.g. keyboard configuration,
screen driver, etc. Practically speaking, these
requirements mandate a computer with the maximum amount
of so-called DOS memory installed, viz. 640 kilobytes.
If your computer has less than this amount, you will need
to install, or have installed, additional memory.
If your computer does have a full 640K of memory, and
INDEXX still does not load, then too much of that memory
is being `eaten up' by TSR utilities loaded into memory
prior to loading INDEXX. Before trying to load INDEXX,
run the DOS utility CHKDSK. CHKDSK will report both the
total memory installed in your computer and the available
memory. If available memory is less than 420,000 bytes,
INDEXX probably will not load.
To run INDEXX on a computer where the TSR utilities are
consuming too much memory, you will have to boot up your
computer from a floppy systems-disk, i.e. one containing
both DOS (i.e. the system) and a CONFIG.SYS file. The
CONFIG.SYS file on the floppy disk must itself load only
the minimum number of TSRs, i.e. only those absolutely
necessary to configure the hardware complement in your
computer. Since it is impossible for me to know which
utilities you will need for your particular hardware
configuration, if you do not know how to create a `bare
minimum' CONFIG.SYS file, you will have to seek help from
someone knowledgeable closer at hand. But be assured:
the problem you are having is not due to a bug in INDEXX
8.02, just to its large size. This problem is common to
a great many software applications, and many persons
knowledgeable about computers will be able to lend you a
hand.
- 59 -
(If none of the above remedies works, write to me. I
could make you a custom version by removing Option 5.
You could then use Option 9 in INDXPLUS instead. The
custom version would not be as elegant as the factory
version of INDEXX, but it would be smaller and would be
serviceable.)
2. The cursor and/or some other information on the monitor is
invisible. What do I do?
ANSWER: Exit to DOS and re-load INDEXX (or INDXPLUS).
When asked "Full-color or Monochrome monitor?", be sure
to reply "M".
3. I have managed to create an .IND data file which is too
large to input to INDEXX, but I need to sort this file
using Option 4. What do I do?
ANSWER: The overall strategy is to split this file into
two (or more) smaller ones using Option 10 in INDXPLUS.
Next, read each of the smaller files into INDEXX, sort
them, and finally re-combine them using Option 8 in
INDXPLUS.
4. I have combined two files, but find that some of the
entries were not spelled exactly the same, e.g. in one file
I used "wars" and in the other "war". In the resulting
file, I now have two entries, "war" and "wars", where I
wanted only one: "war". Do I have to combine these entries
manually and re-sort the page citations manually?
ANSWER: The repair is really quite easy, and certainly
does not require you to sort the page citations manually.
Read the file into INDEXX, and use the on-screen editing
facility (see above, Section 3.5.13.2) to change the
troublesome record "wars" to "war". INDEXX will then
automatically search for redundancy and will combine
matching records in the file, reducing the overall length
of the file accordingly. You will then have to re-sort
the file in Option 4.
5. INDEXX has given me the error message "Out of memory" [or
"Out of string space"]. What should I do?
ANSWER: Very few, if any, users will ever see such a
message. If you do, your data is sufficiently unusual to
have overrun the work area reserved in INDEXX. If the
error message occurs while running Option 5, simply
switch to Option 9. If, however, the error occurs in any
other Option, you'll have to make your data files
smaller. Input your .IND file to Option 10 in INDXPLUS.
Option 10 will split the file into two or more smaller,
more manageable, files. After editing and sorting, these
- 60 -
smaller files can be merged into a larger file using
Option 8 and formatted for printing with Option 9.
6. Some of the records seem to have been sorted by Option 4 in
strange ways. For example, the record "a priori reasoning"
has ended up between "postulates" and "punishment". What's
gone wrong?
ANSWER: You've forgotten (as I myself sometimes do!) that
this version of INDEXX ignores specified `little' words,
among them "a". The sort routine in Option 4 is ignoring
the `word' "a" in "a priori". The solution is simple.
Either remove "a" from the list of ignored words (a
solution which will affect every occurrence of the word
"a" [but not, of course, the letter "a" when it occurs as
part of a larger word] in your file), or alter this one
record by using the on-screen editing facility in Option
3 to change "a priori reasoning" to "a priori reasoning
{a priori reasoning}". In the latter case, the explicit
`as-if' code will override, for that record, the
`ignoring'-feature of the sort routine.
- 61 -
Appendix A
Sorting algorithms
INDEXX must sort two different kinds of data: (1) the entries in
your index [fields one and two in each record], and (2) the page
citations on each of those entries [field three]. The hybrid
sorting method adopted for the page citations [field three] was
described above pp. 38-40.
The data entries pose a rather different problem. There are
various ways to alphabetize strings of data. Versions 1.00-2.05
offered only word-by-word sorts (see page 48 for an explanation).
Several users, however, expressed a preference for letter-by-
letter sorting, and the latter method was substituted beginning
with version 3.00. With version 7.00, both manners of sorting
were available in Option 4.
All versions since 3.00 correctly handle punctuation, foreign
alphabets, data in uppercase, and lines of poetry.
A.1 Pseudo-records
The sorting algorithm in current versions of INDEXX begins by
creating (what I call) `a pseudo-record image' of the data
record. This is a record in which the first and second fields in
file records are transformed in a variety of ways, including:
deleting most punctuation; converting non-Greek foreign letters
to English equivalents[15]; changing the case of the strings; and
- in the case of letter-by-letter sorts - deleting blankspaces
between words. Pseudo-records are then sorted, and - as a last
step - the original records are re-ordered to correspond to the
ordering of the sorted pseudo-records.[16]
-----------
15. Greek words are alphabetized so as to appear after numerical
entries and before words written in Roman letters.
16. For more details on the problems associated with, and methods
for dealing with, alphabetizing data, see my "Made to Order
Sorts" in PC Resource, Jan. 1988.
- 62 -
A.2 Special cases
There is, however, a very minor price to pay for this
sophisticated technique. In our using proxy pseudo-records, data
items which were originally dissimilar may be made to appear
identical. For example,
" `ideas' ","","22, 12"
"ideas","","45, 678"
yield identical pseudo-records:
"IDEAS","","22, 12"
"IDEAS","","45, 678"
Thus on your final output, you may find "`ideas'" occurring
before "ideas", or you may find the order the reverse.
Similarly, if you have in your index an English word and a
foreign word which differ only by a diacritical mark, let's say a
circumflex or a dieresis, etc., the pseudo-records will be
identical, and which appears first in your final output will be
unpredictable. And obviously, you'd get the same kind of effect
(in a SORT-1) if a capitalized word ("i<Cats>i") and a lowercase
version ("cats") of that same word occurred as separate data
entries.
This is a minor problem. Very few users will have data which
includes pairs of records which differ from one another only by
quotation marks, capitalization or by diacritical marks. If,
however, you must have such pairs of data in your index, by using
`as-if' codes you can force Option 4 to sort the pairs in a
specified order. If, for example, you wanted "`ideas'" to appear
before "ideas", you could enter:
"ideas {ideasb}","","23, 45"
"`ideas' {ideasa}","","55, 66, 88"
Or, in a SORT-1, if you wanted "i<Cats>i" to appear earlier than
"cats", you could enter:
"i<Cats>i {catsa}","","55"
"cats {catsb}","","55"
- 63 -
Appendix B
Updating from previous versions of INDEXX
PLEASE NOTE: To input .IND files produced by a version of INDEXX
prior to 8.00, you must first convert these files using Option 11
in INDXPLUS.
In addition, there are enough new features in this latest
version of INDEXX to make it worthwhile to work through the
tutorial in Chapter 2. You will especially want to note the new,
simplified, manner of entering data in Option 3. You no longer
have to signal the intention to enter a subheading by typing the
backslash "\" (indeed this latest version of INDEXX treats "\" as
just another character, not as a special operating instruction);
instead the cursor always jumps down to the subheading field
after you have entered a heading. If you do not want a
subheading, simply press <Enter>. The so-called Normal and
String modes are now available in both the heading and the
subheading fields. Extensive on-screen editing has been added to
Option 3 (see pp. 43-45). Typesetting codes and `as-if' codes
may be entered directly into your data file. Additional new
features have been added to the sorting routine (Option 4) and
the formatting routine (Option 5).
Every new version of INDEXX has been able to read .IND files
produced by earlier versions. However, there are some operating
differences which you must understand if you are to edit .IND
files in your word-processor.
B.1 Changes in the design of record fields
Fields in a data record were changed once with version 2.05 and
once again with version 8.00. Specifically, subheadings were
originally appended to the first field with a backslash, and were
later placed in the second field preceded by a backslash.
Beginning with version 8.00, subheadings are placed in the second
field without a backslash. For example:
Version 1.0: "logic \ history","","23, 78"
"Russell","Bertrand","40"
"Russell \ education","Bertrand","55"
- 64 -
Versions 2.05-7.xx: "logic","\ history","23, 78"
"Russell","Bertrand","40"
"Russell, Bertrand","\ education","55"
Version 8.xx: "logic","history","23, 78"
"Russell, Bertrand","","40"
"Russell, Bertrand","education","55"
B.2 Merging old .IND files
Option 8 in INDXPLUS can merge only those files sorted by version
8.xx of INDEXX. If you wish to merge files produced by earlier
versions of INDEXX, you will first have to convert those files to
the current version, by using Option 11 in INDXPLUS, and then
have to sort those files using Option 4 in INDEXX. If an old
.IND file is too large to be read into INDEXX, see the special
techniques for splitting and re-combining a file which are
described in Chapter 5.
- 65 -
Index
"$", use of, 20, 40 converting old .IND files,
"*", use of, 16, 36 58
"\", use of (now obsolete), copying the distribution
64 diskette, 7
"###", use of, 46, 50, 51, credits, 6
57 cross-references, 37
"000", use of, 19, 38 within (sub)headings, 19,
"< >", use of, 17, 36 38
"{ }", use of, 18, 37 within page citations, 38,
<Arrow>-keys, 42 40
ASCII, 3, 37, 38, 54 <Ctrl>-key combinations, 42
listing (nos. 32-126), 38
automatic saving to disk, data records, 33, 42, 54
13, 22 number of, 47, 57
frequency of, 27 default settings
Automode, 12, 41 changing, 26, 27
start-up, 30
<Backspace>-key, 42 <Del>-key, 42
backup copies, 24, 53, 56 delimiters
batch file, 30 between fields, 33
block (of records), 44 in command line, 30
boldface, 36 disclaimer, 6
DOS, 3, 29, 53, 56
canceling an Option, 26 CHKDSK, 59
CapsLock, 10 CONFIG.SYS, 59
Chicago Manual of Style, 7 MODE, 26
color, 27
foreground/background, 27, editing
28 file record, 43
graphics adapter, 8, 26 input line, 43
primary/secondary, 27 on-screen, 2, 21
update speed, 28 EDLIN, 30
combining files, 4, 31, 56, <End>-key, 42
60 error checking, 56
combining records, 45, 50, error flags
57 ###, 46, 50, 51, 57
command line error messages, 15, 22, 31,
INDEXX, 29 47, 54
INDXPLUS, 56 "... in Module...", 5
commas, 33 "Insufficient memory", 59
surrogate, 20, 39, 40 "Only 2,000 entries
confirmation permitted", 47
lengthened entry, 35 "Out of memory", 47, 60
new item, 10, 28, 34 "Out of string space", 60
partial match, 14, 28, 34 errors, reporting, 5
- 66 -
<Esc>-key, 34, 42 <F5>, 12, 41
<F7>, 12, 41
fields, 12, 33, 64 <F8>, 42
markers between, 12, 33 <F9>, 16
markers within, 12, 40 <F10>, 22, 26, 34
file status review of usage, 46
EMPTY, 10 fuzzy logic, 3, 16, 34
SORT-1, 48
SORT-2, 48, 51 given name(s), 2, 11, 14,
SORTED, 25 32, 33, 34
UNSORTED, 10, 25
files help window, 42
.2ND, 24, 27, 31, 53, 54, <Home>-key, 42
56 hot keys, 9
.BAT, 30
.IND, 24, 27, 31, 33, 53, <Ins>-key, 42
54, 56, 57, 58 insert mode, 42
.OLD, 27, 54, 56 installing INDEXX, 7
.OUT, 45, 54 italics, 36
.PRT, 53, 54
data, 9 line width, 51, 54
extensions, 31 loading INDEXX, 8
headers, 12, 49, 50, 54,
57 Main Menu, 9, 26, 56
IGNORE.DEF, 49, 54 Manual of Style, 7
INDEXX.EXE, 4, 7 Manual, printing the, 7
INDXPLUS.EXE, 4, 7, 56 matches, 14, 57
MANUAL.BAT, 4, 7 case sensitive, 35
MANUAL.DOC, 4, 7 partial, 3, 16, 34
ORDRFORM.DOC, 4 definition of, 34
PAYMENT.DOC, 4, 5 perfect, 11, 16
READ.ME, 4 memory available, 47
review of INDEXX files, 54 monitor
trash bin file, 45 invisible characters, 60
foreign alphabets, 37, 62 monochromatic adapter, 8
diacritical marks, 63 multiple-word (sub)headings,
formatting, 3, 34, 51, 58 32
aligned/run-in, 52
divider, 52 Names/Subject index, 48
indent (for subheadings), normal data entry mode, 15,
52 16, 28, 32, 33
line turnover, 52
line width, 51 operating limits, 3, 47, 50,
Names/Subjects, 51 57, 58
on-screen examples, 52 operating requirements, 3,
persons' initials, 52 59
subheading prefix, 52 Option "0", 26, 29
vertical spacing, 52 Option "1", 9, 30
FREQ, 29 Option "2", 24, 31, 54
function keys Option "3", 9, 25, 27, 32,
<F1>, 15, 28, 32 57
<F2>, 11, 17, 36 Option "4", 20, 22, 37, 48,
<F3>, 12, 13, 41 57, 60, 62
<F4>, 21, 43
- 67 -
Option "5", 22, 24, 34, 51, character two hundred and
58, 60 twenty-five, 49
Option "6", 53 float/sink, 48
Option "7", 53 ignoring `little' words,
Option "8", 31, 47, 56, 60, 22, 49, 61
65 incorrect order, 61
Option "9", 56, 58, 60, 61 letter-by-letter, 48, 62
Option "10", 31, 56, 58, 60 oversized files, 60
Option "11", 56, 58 page citations, 50
oversized files, 58, 60 SORT-1, 48
overwrite mode, 42 SORT-2, 48
word-by-word, 48, 62
page citations, 3, 13, 38, sound, 27
47, 57, 60, 62 splitting files, 58, 60
duplicates, 46 string data entry mode, 15,
redundancy in, 50, 57 28, 32, 33
path (DOS), 9, 24, 29 subfield, 12, 20, 40
persons' initials, 34, 52 subheadings, 2, 33
persons' names, 32, 33 surname(s), 2, 11, 14, 32,
<PgUp> / <PgDn>-keys, 42 33, 34
poetry, 62
printer, 24 trash bin file, 45
printing the formatted file, TSR (Terminate and Stay
22, 34 Resident) utilities, 59
prompts, 10 tutorial, 7
pseudo-record, 62 typefaces, 3, 17, 36, 39, 52
questions and answers, 59 underlining, 36
quotation marks, 33, 51, 54 updating from previous
versions of INDEXX, 1,
re-ordering of given names 64
and surnames, 32 upper- and lowercase, 62
record, 12 user's fee, 5
pretend' record, 44
retrieval of record for viewing the data file, 11
editing, 21 viewing the formatted file,
Roman numerals, 19 22
single-word entries, 32 wildcard "*", 16, 36, 39
sorting, 2, 38, 57, 60, 62 word-processor, 12, 18, 30,
`as-if', 18, 37, 39, 40, 31, 53, 54, 64
49, 61, 63 word-wrapping, 43, 54
- 68 -